![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode刷题
唐唐唐piong
这个作者很懒,什么都没留下…
展开
-
LeetCode704. 二分查找
题目描述: 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例二 输入: nums = [-1,0,3,5,9,12], ...原创 2019-04-04 18:00:18 · 121 阅读 · 0 评论 -
LeetCode 107. 二叉树的层次遍历 II
给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历) 例如: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其自底向上的层次遍历为: [ [15,7], [9,20], [3] ] 题解: public class So...原创 2019-09-11 17:32:22 · 104 阅读 · 0 评论 -
155. 最小栈
题目: 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x)-- 将元素 x 推入栈中。 pop()-- 删除栈顶的元素。 top()-- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 示例: MinStack minStack = new MinStack(); minStack.push(-2); minStack.pu...原创 2019-07-17 18:06:52 · 84 阅读 · 0 评论 -
232. 用栈实现队列
题目: 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 q...原创 2019-07-17 17:38:14 · 76 阅读 · 0 评论 -
LeetCode 142.环形链表
题目: 给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:tail connects to n...原创 2019-07-17 16:25:08 · 66 阅读 · 0 评论 -
LeetCode 234.回文链表
题目: 请判断一个链表是否为回文链表。 示例 1: 输入: 1->2 输出: false 示例 2: 输入: 1->2->2->1 输出: true 题解: Stack<Integer> stack = new Stack<>(); //将链表元素的值压入栈中 ListNode B = head; whi...原创 2019-07-17 16:20:49 · 86 阅读 · 0 评论 -
LeetCode 255:用队列实现栈
题目: 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 代码实现: class MyStack { private Queue<Integer> a;//输入队列 private Queue<Integer> b;//输出队列 ...原创 2019-07-16 21:10:03 · 133 阅读 · 0 评论 -
有效的括号
给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例2: 输入: "()[]{}" 输出: true 示例3: 输入: "(]" 输出: false 示例4: 输...原创 2019-07-16 17:19:58 · 88 阅读 · 0 评论 -
LeetCode 88. 合并两个有序数组
题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组 示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6] *思路: 1.将nums2的第一j个元素拷贝到nums1的最后一个元素的后面,组成新的数组 ...原创 2019-04-10 07:43:48 · 107 阅读 · 0 评论 -
LeetCode 141. 环形链表
题目: 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例2: 输入:head = [1,2], pos = 0 输出:true...原创 2019-04-15 17:06:41 · 74 阅读 · 0 评论 -
LeetCode 509. 斐波那契数
题目描述: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0, F(1) = 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1. 示例: 输入:4 输出:3 解释:F(4) = F(3) + F(2) = 2 + 1 = 3 解题思路: 1.要注意N...原创 2019-04-06 21:32:14 · 131 阅读 · 0 评论 -
LeetCode 922. 按奇偶排序数组 II
题目描述: 给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。 对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。 你可以返回任何满足上述条件的数组作为答案。 示例:输入:[4,2,5,7] 输出:[4,5,2,7] 解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。 解答: class Solution ...原创 2019-04-05 23:57:10 · 80 阅读 · 0 评论 -
LeetCode 905. 按奇偶排序数组
题目描述: 给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。 你可以返回满足此条件的任何数组作为答案 示例: 输入:[3,1,2,4] 输出:[2,4,3,1] 输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受 解题方法: 1.创建一个新的数组 2.对A数组元素进行遍历,求余 3.若判断为偶数,从新数组的开始位置放起...原创 2019-04-05 23:32:04 · 94 阅读 · 0 评论 -
LeetCode 102. 二叉树的层次遍历
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。 例如: 给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层次遍历结果: [ [3], [9,20], [15,7] ] class Solution { public List<L...原创 2019-09-11 17:46:04 · 85 阅读 · 0 评论