LeetCode
GxDong_
这个作者很懒,什么都没留下…
展开
-
[LeetCode-Java] 133.对于图的克隆的两种解法
133 克隆图题目给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; public List<Node> neighbors;}测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。原创 2020-08-12 12:23:35 · 151 阅读 · 0 评论 -
[LeetCode-Java] 696.计数二进制子串
696 计数二进制子串题目给定一个字符串 s,计算具有相同数量0和1的非空(连续)子字符串的数量,并且这些子字符串中的所有0和所有1都是组合在一起的。重复出现的子串要计算它们出现的次数。示例 1 :输入: "00110011"输出: 6解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。请注意,一些重复出现的子串要计算它们出现的次数。另外,“00110011”不是有效的子串,因为所有的0(和1)没有组合在一起原创 2020-08-10 14:04:43 · 177 阅读 · 0 评论 -
[LeetCode-Java] 66.加一
66 加一题目给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。代码class Solution { public int[] plus原创 2020-08-06 20:26:38 · 118 阅读 · 0 评论 -
[LeetCode-Java] 337.打家劫舍 III
337 打家劫舍 III题目在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。示例 1:输入: [3,2,3,null,3,null,1] 3 / \ 2 3原创 2020-08-05 09:36:33 · 135 阅读 · 0 评论 -
[LeetCode-Java] 415.字符串相加
415 字符串相加题目给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。注意:1. num1 和num2 的长度都小于 5100.2. num1 和num2 都只包含数字 0-9.3. num1 和num2 都不包含任何前导零。4. 你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。代码class Solution { public String addStrings(St原创 2020-08-03 09:02:04 · 118 阅读 · 0 评论 -
[LeetCode-Java] 114.二叉树展开为链表
114 二叉树展开为链表题目给定一个二叉树,原地将它展开为一个单链表。例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为:1 \ 2 \ 3 \ 4 \ 5 \ 6代码(前序遍历)/** * Definition for a binary tree node. * public class TreeNode { *原创 2020-08-02 23:57:05 · 158 阅读 · 0 评论 -
[LeetCode-Java] 58.最后一个单词的长度
58 最后一个单词的长度题目给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果字符串从左向右滚动显示,那么最后一个单词就是最后出现的单词。如果不存在最后一个单词,请返回 0 。说明:一个单词是指仅由字母组成、不包含任何空格字符的 最大子字符串。示例:输入: "Hello World"输出: 5代码class Solution { public int lengthOfLastWord(String s) {原创 2020-08-02 23:44:40 · 144 阅读 · 0 评论 -
[LeetCode-Java] 38.外观数列
38 外观数列题目给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。注意:整数序列中的每一项将表示为一个字符串。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下:1. 12. 113. 214. 12115. 111221第一项是数字 1描述前一项,这个数是 1 即 “一个 1 ”,记作 11描述前一项,这个数是 11 即 “两个 1 ” ,记作 21描述前原创 2020-07-27 16:15:19 · 120 阅读 · 0 评论 -
[LeetCode-Java] 35.搜索插入位置
35 搜索插入位置题目给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0代码(遍历查找)class Solution { public int原创 2020-07-27 13:21:07 · 221 阅读 · 0 评论 -
[LeetCode-Java] 392.判断子序列
392 判断子序列题目给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:s = “abc”, t = “ahbgdc”返回 true.示例 2:s = “axc原创 2020-07-27 11:12:05 · 142 阅读 · 0 评论 -
[LeetCode-Java] 95.不同的二叉搜索树 II
95 不同的二叉搜索树 II题目给定一个整数 n,生成所有由 1 … n 为节点所组成的 二叉搜索树 。示例:输入:3输出:[ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3]]解释:以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \原创 2020-07-21 10:42:15 · 81 阅读 · 0 评论 -
[LeetCode-Java] 167.两数之和 II - 输入有序数组
有序两数之和题目给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 index2)不是从零开始的。你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index原创 2020-07-20 10:49:47 · 95 阅读 · 0 评论