![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
niceHou666
这个作者很懒,什么都没留下…
展开
-
[Leetcode] 1309. 解码字母到整数映射 (JavaScript)
给你一个字符串s,它由数字('0' - '9')和'#'组成。我们希望按下述规则将s映射为一些小写英文字符:字符('a' - 'i')分别用('1' -'9')表示。字符('j' - 'z')分别用('10#'-'26#')表示。返回映射之后形成的新字符串。题目数据保证映射始终唯一。示例 1:输入:s = "10#11#12"输出:"jkab"...原创 2020-01-15 16:26:25 · 259 阅读 · 0 评论 -
[Leetcode] 2. 两数相加 java
给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807/** * Definiti...原创 2018-10-15 09:32:33 · 106 阅读 · 0 评论 -
[Leetcode] 328. 奇偶链表 java
给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->5->...原创 2018-10-16 21:11:02 · 577 阅读 · 0 评论 -
[Leetcode] 371. 两整数之和 java
不使用运算符 + 和 - ,计算两整数 a 、b 之和。示例 1:输入: a = 1, b = 2输出: 3示例 2:输入: a = -2, b = 3输出: 1您是否在真实的面试环节中遇到过这道题目呢?首先不使用+ -,一定就是与二进制操作相关的。我看的是这篇文章 https://blog.csdn.net/weixi...原创 2018-10-17 09:20:35 · 196 阅读 · 0 评论 -
[Leetcode] 404. 左叶子之和 java
计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNo...原创 2018-10-22 09:41:22 · 307 阅读 · 0 评论 -
[Leetcode] 112. 路径总和 java
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 ...原创 2018-10-22 21:37:01 · 448 阅读 · 0 评论 -
[Leetcode] 110. 平衡二叉树 java
给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null...原创 2018-10-20 18:28:44 · 695 阅读 · 0 评论 -
[Leetcode] 94. 二叉树的中序遍历 java
给定一个二叉树,返回它的中序 遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?一、迭代/** * Definition for a binary tree node. * public class TreeNode { * int ...原创 2018-10-28 19:26:41 · 379 阅读 · 0 评论 -
[Leetcode] 144. 二叉树的前序遍历 java
给定一个二叉树,返回它的 前序 遍历。 示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶: 递归算法很简单,你可以通过迭代算法完成吗?一、递归/** * Definition for a binary tree node. * public class TreeNode { * ...原创 2018-10-28 21:30:42 · 1204 阅读 · 0 评论 -
[Leetcode] 172. 阶乘后的零 java
给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复杂度应为 O(log n) 。最开始我是这样写的,但是n大了的时候,会抛出StackOverFlowError(线程请求的栈深度大于虚拟机允许的...原创 2018-10-23 10:27:18 · 348 阅读 · 0 评论 -
[Leetcode] 290. 单词模式 java hashmap
给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。示例1:输入: pattern = "abba", str = "dog cat cat dog"输出: true示例 2:输入:pattern = "abb...原创 2018-10-25 21:28:00 · 215 阅读 · 0 评论 -
[Leetcode] 104. 二叉树的最大深度与111. 二叉树的最小深度 java
一、二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。/** * Definition for a bi...原创 2018-10-19 10:44:17 · 355 阅读 · 0 评论 -
[Leetcode] 101. 对称二叉树 java 递归
给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3/** * Definition fo...原创 2018-10-19 10:27:45 · 241 阅读 · 0 评论 -
[Leetcode] 24. 两两交换链表中的节点 java
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ...原创 2018-10-15 10:40:59 · 455 阅读 · 0 评论 -
[Leetcode] 349. 两个数组的交集 java hashmap
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4]说明:输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。class Solution { ...原创 2018-10-08 20:41:03 · 608 阅读 · 0 评论 -
[Leetcode] 61. 旋转链表 java
给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: 4原创 2018-10-15 15:38:37 · 416 阅读 · 0 评论 -
[Leetcode] 82. 删除排序链表中的重复元素 II java
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:输入: 1->1->1->2->3输出: 2->3class Solution { public List...原创 2018-10-16 10:45:22 · 522 阅读 · 0 评论 -
[Leetcode] 242. 有效的字母异位词 java hashmap
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。示例 1:输入: s = "anagram", t = "nagaram"输出: true示例 2:输入: s = "rat", t = "car"输出: false说明:你可以假设字符串只包含小写字母。进阶:如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来...原创 2018-10-09 16:23:17 · 209 阅读 · 0 评论 -
[Leetcode] 19. 删除链表的倒数第N个节点 java
(链表新手,代码是别人的)给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?/** * Definiti...转载 2018-10-09 19:15:20 · 113 阅读 · 0 评论 -
[Leetcode] 83. 删除排序链表中的重复元素 java
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for singly-linked list. * public class ListNode {...原创 2018-10-09 19:26:55 · 184 阅读 · 0 评论 -
[Leetcode] 141. 环形链表 java
给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * nex...原创 2018-10-09 19:39:18 · 164 阅读 · 0 评论 -
[Leetcode] 500. 键盘行 java hashmap
给定一个单词列表,只返回可以使用在键盘同一行的字母打印出来的单词。键盘如下图所示。 示例:输入: ["Hello", "Alaska", "Dad", "Peace"]输出: ["Alaska", "Dad"] 注意:你可以重复使用键盘上同一字符。 2.你可以假设输入的字符串将只包含字母class Solution { pub原创 2018-10-19 08:58:51 · 212 阅读 · 0 评论 -
[Leetcode] 100. 相同的树 java 两种方法
给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 ...原创 2018-10-19 10:04:36 · 971 阅读 · 0 评论 -
[Leetcode] 107. 二叉树的层次遍历 II java
和102题类似,区别是要向结果中倒插list 。[Leetcode] 102. 二叉树的层次遍历 java 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其自底向上...原创 2018-10-21 18:01:19 · 1953 阅读 · 0 评论 -
[Leetcode] 204. 计数质数 java
统计所有小于非负整数 n 的质数的数量。示例:输入: 10输出: 4解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。计算质数的方法: https://www.cnblogs.com/lightwindy/p/8549471.htmlclass Solution { public int countPrimes(int n) { ...原创 2018-10-24 15:18:10 · 249 阅读 · 0 评论 -
[Leetcode] 102. 二叉树的层次遍历 java
和107类似,区别是不需要向结果中倒插list[Leetcode] 107. 二叉树的层次遍历 II java给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3...原创 2018-10-21 19:54:48 · 2699 阅读 · 0 评论 -
[Leetcode] 215. 数组中的第K个最大元素 java
在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明: 你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。class So...原创 2018-11-02 21:07:04 · 372 阅读 · 0 评论 -
[Leetcode] 222. 完全二叉树的节点个数 java
给出一个完全二叉树,求出该树的节点个数。说明:完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。示例:输入: 1 / \ 2 3 / \ /4 5 6输出: 6这篇博客说的很详细,大家可以看一...原创 2018-11-04 21:57:58 · 544 阅读 · 0 评论 -
[Leetcode] 18. 四数之和 java
15、三数之和给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...原创 2018-11-07 21:24:13 · 263 阅读 · 0 评论 -
[Leetcode] 392 判断子序列 java
一个指针,从左到右遍历class Solution { public boolean isSubsequence(String s, String t) { if(s==null||t==null) return false; int i=0,j=0; int count=0; while(i<s.length(...原创 2018-11-12 09:50:55 · 795 阅读 · 0 评论 -
[Leetcode] 387. 字符串中的第一个唯一字符 java hashmap与ASCII码
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。案例:s = "leetcode"返回 0.s = "loveleetcode",返回 2.注意事项:您可以假定该字符串只包含小写字母。第一种方法(hashmap略慢)class Solution { public int firstUniqChar(String s) ...原创 2018-11-12 13:41:16 · 203 阅读 · 0 评论 -
[Leetcode] 412. Fizz Buzz java
写一个程序,输出从 1 到 n 数字的字符串表示。1. 如果 n 是3的倍数,输出“Fizz”;2. 如果 n 是5的倍数,输出“Buzz”;3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。示例:n = 15,返回:[ "1", "2", "Fizz", "4", "Buzz", "Fizz",原创 2018-11-12 19:45:51 · 459 阅读 · 0 评论 -
[Leetcode] 389. 找不同 java 三种方法
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。第一种方法,哈希表。这个太慢了class Solution { public char findTheDif...原创 2018-11-19 20:54:56 · 456 阅读 · 0 评论 -
[Leetcode] 461汉明距离与 467汉明距离总和 java
一、汉明距离将 x y异或的结果和1做与运算,能算出低位的x y是否相同(都是0,或1)class Solution { public int hammingDistance(int x, int y) { int result=0; while(x!=0||y!=0){ if(((x^y)&1)==1) resu...原创 2019-05-05 09:55:07 · 254 阅读 · 2 评论 -
[leetcode] 75颜色分类 Java
就是荷兰国旗问题,小于1的放在数组左边,等于1的放中间,大于1的放数组右边class Solution { public void sortColors(int[] nums) { if(nums==null) return ; int i=0; int leftIndex=-1,rightIndex=nums.length; ...原创 2019-05-07 09:22:20 · 312 阅读 · 0 评论 -
[Leetcode] 228. 汇总区间 java
给定一个无重复元素的有序整数数组,返回数组区间范围的汇总。示例 1:输入: [0,1,2,4,5,7]输出: ["0->2","4->5","7"]解释: 0,1,2 可组成一个连续的区间; 4,5 可组成一个连续的区间。示例 2:输入: [0,2,3,4,6,8,9]输出: ["0","2->4","6","8原创 2018-11-02 20:09:26 · 276 阅读 · 0 评论 -
[Leetcode] 274. H指数 java
class Solution { public int hIndex(int[] citations) { int l=citations.length; Arrays.sort(citations);//对数组排序 int count=0; for(int i=l-1;i>=0;i--){//从后向前找 ...原创 2018-11-01 10:51:31 · 434 阅读 · 0 评论 -
[Leetcode] 263. 丑数 java
编写一个程序判断给定的数是否为丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例 1:输入: 6输出: true解释: 6 = 2 × 3示例 2:输入: 8输出: true解释: 8 = 2 × 2 × 2示例 3:输入: 14输出: false 解释: 14 不是丑数,因为它包含了另外一个质因数 7。说明:1 是丑数。 输入不...原创 2018-10-27 21:23:59 · 182 阅读 · 0 评论 -
[Leetcode] 287. 寻找重复数 java
给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数示例 1:输入: [1,3,4,2,2]输出: 2示例 2:输入: [3,1,3,4,2]输出: 3说明:不能更改原数组(假设数组是只读的)。 只能使用额外的 O(1) 的空间。 时间复杂度...原创 2018-10-26 09:18:28 · 839 阅读 · 0 评论 -
[Leetcode] 589. N叉树的前序遍历 java
给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树 : 返回其前序遍历: [1,3,5,6,2,4]。一、迭代法/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node() {...原创 2018-10-29 14:56:27 · 572 阅读 · 0 评论