
leetcode
文章平均质量分 51
Ferlan
天下大事,必作于细!
展开
-
leetcode---字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。思路:假设两个字符串的长度分别为size1和size2(我们假设size1>size...原创 2018-11-05 23:41:47 · 902 阅读 · 0 评论 -
请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。
思路:对称的意思是左右边分支相同,且对称分支的孩子值也相同,这就说明该二叉树不能是单边二叉树,每层必须都为满。且每层的各个节点要和对称位置处的节点值相同。如图:绿色线连接的节点的值都应该相同。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode...原创 2018-10-08 23:30:46 · 1058 阅读 · 0 评论 -
leetcode--二叉树的最近公共祖先
给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4].示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1输出: 3解释: 节点 5 和节点 1 的最近公共祖先是节点 3。示例 2:输入: root = [3,5,1...原创 2019-01-14 20:22:41 · 850 阅读 · 0 评论 -
leetcode--最小栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minS...原创 2019-01-15 09:38:07 · 428 阅读 · 0 评论 -
牛客--栈的压入弹出序列
输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:我们直接用例题看,出栈序列为{4,5,3,2,1}。4: 1,2,3...原创 2019-01-15 11:53:16 · 396 阅读 · 0 评论