leetcode
hzn11
这个作者很懒,什么都没留下…
展开
-
leetcode 876链表中间节点
876. 链表的中间结点问题给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。思路一求链表的中间节点,统计链表长度length,中间节点位于length/2+1处/** * Definition for singly-linked list. * public class ListNode { * int v...原创 2019-02-28 12:40:41 · 207 阅读 · 0 评论 -
leetcode39组数之和
39. 组数之和问题给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,...原创 2019-09-03 15:31:47 · 140 阅读 · 0 评论 -
leetcode450. 删除二叉搜索树中的节点
450. 删除二叉搜索树中的节点问题给定一个二叉搜索树的根节点 root 和一个值 key,删除二叉搜索树中的 key 对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般来说,删除节点可分为两个步骤:首先找到需要删除的节点;如果找到了,删除它。说明: 要求算法时间复杂度为 O(h),h 为树的高度。示例:root = [5,3,6,2,...原创 2019-04-07 21:46:34 · 512 阅读 · 0 评论 -
leetcode104. 二叉树的最大深度
104. 二叉树的最大深度问题给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。思路通过递归实现,深度=max(左子树深度,右子...原创 2019-04-07 12:51:54 · 104 阅读 · 0 评论 -
leetcode69x 的平方根
69. x 的平方根问题实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。思路采用二分实现class...原创 2019-03-12 16:48:07 · 406 阅读 · 0 评论 -
leetcode496下一个更大元素 I
496. 下一个更大元素 I问题给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], n...原创 2019-03-04 12:30:08 · 173 阅读 · 0 评论 -
leetcode682棒球比赛
682. 棒球比赛问题你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。\2. "+"(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。\3. "D"(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。\4. "C"(一个操作,这不是一个回合的分数):表示您获得的最后一个有...原创 2019-03-04 12:18:24 · 138 阅读 · 0 评论 -
leetcode224基本计算器
224. 基本计算器问题实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。示例 1:输入: "1 + 1"输出: 2示例 2:输入: " 2-1 + 2 "输出: 3示例 3:输入: "(1+(4+5+2)-3)+(6+8)"输出: 23思路用两个栈实现,一个操作数栈,...原创 2019-03-01 15:59:24 · 263 阅读 · 1 评论 -
leetcode844比较含退格的字符串
844. 比较含退格的字符串问题给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。示例 1:输入:S = "ab#c", T = "ad#c"输出:true解释:S 和 T 都会变成 “ac”。示例 2:输入:S = "ab##", T = "c#d#"输出:true解释:S 和 T 都会变成 “”。示...原创 2019-03-01 15:29:40 · 153 阅读 · 0 评论 -
leetcode232用栈实现队列
232. 用栈实现队列问题使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。示例:MyQueue queue = new MyQueue();queue.push(1);queue.push(2); queue.peek(); //...原创 2019-03-01 14:46:10 · 98 阅读 · 0 评论 -
leetcode155最小栈
155. 最小栈问题设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStac...原创 2019-03-01 14:39:19 · 138 阅读 · 0 评论 -
leetcode20有效的括号
20. 有效的括号问题给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: fa...原创 2019-02-28 17:17:34 · 157 阅读 · 0 评论 -
leetcode234回文链表
234. 回文链表问题请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true思路设置快慢两个引用,一个引用走两步,一个引用走一步,当快引用走到末尾时,慢指针指向链表中间,将后半链表翻转过来,比较前半链表与后半链表是否一致。/** * Definition for s...原创 2019-02-28 14:08:59 · 100 阅读 · 0 评论 -
leetcode19删除链表的倒数第N个节点
19. 删除链表的倒数第N个节点问题给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.思路一第一反应是扫描链表长度length,删除倒数第n个,也就是证书第length-n+1个/** ...原创 2019-02-28 13:53:45 · 103 阅读 · 0 评论 -
leetcode21合并两个有序链表
21. 合并两个有序链表问题将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。Example:Input: 1->2->4, 1->3->4Output: 1->1->2->3->4->4思路比较两个链首,将链首值小的添加到新链中,同时链首值小的向后移一步,迭代比较添加,若一方为空...原创 2019-02-28 13:32:32 · 76 阅读 · 0 评论 -
leetcode141环形链表
141. 环形链表问题给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。思路设置快慢引用,若引用想碰,则表明有环,若快引用走到链表末尾或者为空则表明无环/** * Definition for singly-linked list. * class...原创 2019-02-28 13:08:08 · 96 阅读 · 0 评论 -
leedcode206反转链表
206. 反转链表问题反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL迭代法/** * Definition for singly-linked list. * public class ListNode { * int val; * ...原创 2019-02-28 12:54:05 · 111 阅读 · 0 评论 -
leetcode455. 分发饼干
455. 分发饼干问题假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你...原创 2019-09-04 19:13:49 · 155 阅读 · 0 评论