leetcode
九千七~
这个作者很懒,什么都没留下…
展开
-
20. 有效的括号-力扣(leetcode)
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 解题思路: 我们借助一个栈来进行判断,每当向栈里push时,先将栈顶元素和当前字符进行配对,如果匹配,则将栈顶弹出;否则就将当前元素入栈。字符串遍历结束后,若栈为空,则为true;否则便是不能完全匹配,则为false。另外应注意在出栈和取栈顶时应注意栈是否为空。 代码: class Solution { public:原创 2021-02-03 17:04:48 · 148 阅读 · 0 评论 -
225. 用队列实现栈-力扣(leetcode)
使用队列实现栈的下列操作: push(x) – 元素 x 入栈 pop() – 移除栈顶元素 top() – 获取栈顶元素 empty() – 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 isempty 这些操作是合法的。 你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。 你可以假设所有操作都是有效的(例如, 对一个空的原创 2021-01-30 13:26:25 · 95 阅读 · 0 评论 -
206. 反转链表-力扣(leetcode)
反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 解题思路: 定义两个指针:first 和 last;first 在前,last 在后; 每次让 last 的 next 指向 first ,实现一次局部反转 局部反转完成之后,first 和 last 同时往前移动一个位置 循环上述过程,直至 last 到达链表尾部 代码: class Solution { public:原创 2021-01-16 15:52:57 · 131 阅读 · 0 评论 -
1.两数之和-力扣(leetcode)
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 轻松的过了,看了一眼题解,发现自己果然是用的最暴力的方法,我恨(脑子怎么不思考呢)! 第一种解法(暴力法): It’s me! 很简单,遍原创 2020-08-24 17:46:21 · 154 阅读 · 0 评论 -
2.两数相加-力扣(leetcode)
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 + 465 = 807 解题思路: 最开始的想法是将两个链表转整数,相加后再将整数转链表。提原创 2020-08-25 20:34:14 · 105 阅读 · 0 评论 -
3.无重复字符的最长子串-力扣(leetcode)
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。 示例 3: 输入: "pwwkew" 输出: 3 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。 解题思路原创 2020-10-19 21:00:39 · 191 阅读 · 0 评论