LeetCode
文章平均质量分 53
平时在力扣练习的题目
我太想进步了!!
这个作者很懒,什么都没留下…
展开
-
[LeetCode] 415.字符串相加
这题需要我们输出两个数相加以后的结果,我们可以通过模拟 “竖式加法” 对该题求解,“竖式加法”是我们小时候经常对两个数进行计算的方式,两个数的每位数从右到左依次相加,两数之和大于10就进位到上一个数,反复操作,最后得出结果。实现很简单,我们创建两个指针end1和end2分别指向num1和num2的最后一个元素,然后创建一个变量carry,查看当前是否进位,若有两个不数位不同的两数相加,), 也不能直接将输入的字符串转换为整数形式。,计算它们的和并同样以字符串形式返回。给定两个字符串形式的非负整数。原创 2024-10-16 12:05:21 · 351 阅读 · 1 评论 -
[LeetCode] 118. 杨辉三角
大家可以对比理解一下 vector和vector使用vector, 申请一个二维数组的空间。理解了vector之后,这题就非常简单。在「杨辉三角」中,每个数是它左上方和右上方的数的和。这里解释一下vector生成「杨辉三角」的前 numRows。给定一个非负整数 numRows。先看一下vector原创 2024-10-15 12:00:00 · 331 阅读 · 0 评论 -
[牛客] JZ31栈的压入、弹出序列
例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。可以通过push(1)=>push(2)=>push(3)=>push(4)=>pop()=>push(5)=>pop()=>pop()=>pop()=>pop() 这样的顺序得到[4,5,3,2,1]这个序列,返回true。创建两个下标,pushi,popi,从头开始走,每次入一个(可能入一个就匹配了,与出栈序列匹配)3.最后栈是空,则匹配,反之则不匹配。原创 2024-10-17 12:00:00 · 151 阅读 · 0 评论 -
[LeetCode] 102. 二叉树的层序遍历
4.vector v将二叉树每一层进队列的数据存储起来放进vector vv。1.创建一个vector vv,用来存放每一层的数据。2.queue用来存放二叉树的每一层的结点。3.levelsize二叉树每一层的个数,控制二叉树一层一层出。(即逐层地,从左到右访问所有节点)。原创 2024-10-16 12:00:00 · 421 阅读 · 0 评论 -
[LeetCode] 155. 最小栈
这里最关键的是如果放入正常栈的值和最小栈中的栈顶元素相等也需要入最小栈,因为_st出栈的时候可能会出两个相同的最小值,就会出问题。--> 返回 -3.minStack.getMin();--> 返回 -2.minStack.top();操作,并能在常数时间内检索到最小元素的栈。一个是正常放数据的栈一个是放最小值的栈。这题使用两个栈,可以轻松解决。原创 2024-10-13 12:00:00 · 168 阅读 · 0 评论 -
[LeetCode] 150. 逆波兰表达式求值
这里要注意:比如 3 2 + 先入栈的就是左操作数,但是先出栈的为右操作符,因为这样才能保证入栈和出栈时,操作数的顺序不变,避免在进行 相减,相除时出现问题。这里我们可以创建一个栈,操作数入栈,操作符取栈顶元素两个进行运算,运算结果继续入栈。该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6。该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。后缀表达式:操作数顺序不变,操作符按优先级重排 例:2 1 3 * +返回一个表示表达式值的整数。原创 2024-10-12 09:27:05 · 292 阅读 · 0 评论 -
[LeetCode]17.电话号码的字母组合
因为每一次递归都会使combine改变,而我们需要的是从头递归时,将combine数据重置,所有不使用引用正好符合我们的预期。题目给的是一个数字串,通过数字串找到它所映射的字母串,所以我们首先得定义一个string的数组绝对映射出对应的字符串。给出数字到字母的映射如下(与电话按键相同)。3.用来存放组合串的数组,我们需要将组合串放入到题目规定的数组中。的字符串,返回所有它能表示的字母组合。1.题目给得数字串,我们得使用它找出所映射得字符串。因为题目给的函数并没有我们实现递归所需要使用的元素。原创 2024-10-11 12:00:00 · 189 阅读 · 0 评论