LeetCode
smile__dream
享受指尖上的舞蹈。
展开
-
LeetCode:把数字翻译成字符串
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例 1:输入: 12258输出: 5解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ba-sh原创 2021-05-13 23:11:24 · 250 阅读 · 0 评论 -
LeetCode:机器人的运动范围
地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器人能够到达多少个格子?示例 1:输入:m = 2, n = 3, k = 1输出:3示例 2:输入:m = 3,原创 2021-05-07 22:24:06 · 224 阅读 · 0 评论 -
LeetCode:矩阵中的路径
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。例如,在下面的 3×4 的矩阵中包含单词 “ABCCED”(单词中的字母已标出)。示例 1:输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D"原创 2021-04-30 21:37:11 · 311 阅读 · 1 评论 -
LeetCode:重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem原创 2021-04-20 21:27:22 · 121 阅读 · 0 评论 -
LeetCode:二维数组的查找
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30]]给定 target =&n原创 2021-04-14 20:34:14 · 158 阅读 · 0 评论 -
LeetCode: 寻找两个正序数组的中位数
给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5示例 3:输入:nums1 = [0,0], nums2原创 2021-04-13 21:22:02 · 264 阅读 · 0 评论 -
LeetCode:只出现一次的数字
题目链接:https://leetcode-cn.com/problems/single-number/description/给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,...原创 2018-08-31 20:20:25 · 150 阅读 · 0 评论 -
LeetCode:杨辉三角
题目链接:https://leetcode-cn.com/problems/pascals-triangle/description/给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], ...原创 2018-08-29 13:00:32 · 219 阅读 · 0 评论 -
LeetCodeL:杨辉三角 II
题目链接:https://leetcode-cn.com/problems/pascals-triangle-ii/description/给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 3输出: [1,3,3,1]进阶:你可以优化你的算法到 O(k) 空间复杂度吗?class S...原创 2018-08-29 13:49:38 · 278 阅读 · 0 评论 -
LeetCode:相同的树
题目链接:https://leetcode-cn.com/problems/same-tree/description/给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 ...原创 2018-08-25 11:54:58 · 118 阅读 · 0 评论 -
LeetCode:左叶子之和
题目链接:https://leetcode-cn.com/problems/sum-of-left-leaves/description/计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 /** * Definition for a bi...原创 2018-08-25 12:05:41 · 376 阅读 · 0 评论 -
LeetCode:验证回文串
题目链接:https://leetcode-cn.com/problems/valid-palindrome/description/给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: "A man, a plan, a canal: Panama"输出: true示例 2:输入...原创 2018-09-01 11:47:19 · 132 阅读 · 0 评论 -
LeetCode:两数相加
题目链接:https://leetcode-cn.com/problems/add-two-numbers/description/给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 ...原创 2018-08-24 15:47:36 · 93 阅读 · 0 评论 -
LeetCode: 二进制求和
题目链接:https://leetcode-cn.com/problems/add-binary/description/给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = "11", b = "1"输出: "100"示例 2:输入: a = "1010", b = "1011"输出: "10101&qu原创 2018-08-24 15:08:49 · 249 阅读 · 0 评论 -
LeetCode:合并两个有序数组
题目链接:https://leetcode-cn.com/problems/merge-sorted-array/description/给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于...原创 2018-08-21 14:57:44 · 115 阅读 · 0 评论 -
LeetCode: 报数
题目链接:https://leetcode-cn.com/problems/count-and-say/description/报数序列是指一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下:1. 12. 113. 214. 12115. 1112211 被读作 "one 1" ("一个一") , 即 11。1...原创 2018-08-21 13:03:59 · 230 阅读 · 0 评论 -
LeetCode:整数转罗马数字
题目链接:https://leetcode-cn.com/problems/integer-to-roman/description/罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C ...原创 2018-08-21 12:31:28 · 195 阅读 · 0 评论 -
LeetCode:罗马数字转整数
题目链接:https://leetcode-cn.com/problems/roman-to-integer/description/罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 1...原创 2018-08-21 12:19:32 · 136 阅读 · 0 评论 -
LeetCode:矩阵中的最长递增路径
题目链接:https://leetcode-cn.com/problems/longest-increasing-path-in-a-matrix/description/给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。示例 1:输入: nums = [ [9,9,4],...原创 2018-08-28 11:10:46 · 2512 阅读 · 0 评论 -
LeetCode:平衡二叉树
题目链接:https://leetcode-cn.com/problems/balanced-binary-tree/description/给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 /...原创 2018-08-28 10:27:08 · 926 阅读 · 0 评论 -
LeetCode: 验证回文字符串 Ⅱ
题目链接:https://leetcode-cn.com/problems/valid-palindrome-ii/description/给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: "aba"输出: True示例 2:输入: "abca"输出: True解释: 你可以删除c字符。注意:字符串只包含从 a-z 的小写字母。字...原创 2018-09-01 13:59:45 · 224 阅读 · 0 评论 -
LeetCode:两数之和 II - 输入有序数组
题目链接:https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/description/给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明:返回的下标值(index1 和 in...原创 2018-09-04 14:54:41 · 215 阅读 · 0 评论 -
LeetCode:删除链表中的节点
题目链接:https://leetcode-cn.com/problems/remove-linked-list-elements/description/删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5思路:先拿到删除后...原创 2018-09-15 15:41:17 · 418 阅读 · 0 评论 -
LeetCode:旋转链表
题目链接:https://leetcode-cn.com/problems/rotate-list/description/给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解...原创 2018-09-14 12:57:19 · 148 阅读 · 0 评论 -
LeetCode:旋转数组
题目链接:https://leetcode-cn.com/problems/rotate-array/description/给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2...原创 2018-09-14 10:40:01 · 120 阅读 · 0 评论 -
LeetCode:阶乘后的零
题目链接:https://leetcode-cn.com/problems/factorial-trailing-zeroes/description/给定一个整数 n,返回 n! 结果尾数中零的数量。示例 1:输入: 3输出: 0解释: 3! = 6, 尾数中没有零。示例 2:输入: 5输出: 1解释: 5! = 120, 尾数中有 1 个零.说明: 你算法的时间复...原创 2018-09-07 13:39:42 · 338 阅读 · 0 评论 -
LeetCode:位1的个数
题目链接:https://leetcode-cn.com/problems/number-of-1-bits/description/编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。示例 :输入: 11输出: 3解释: 整数 11 的二进制表示为 00000000000000000000000000001011示例 ...原创 2018-09-17 12:06:52 · 201 阅读 · 0 评论 -
LeetCode:颠倒二进制位
题目链接:https://leetcode-cn.com/problems/reverse-bits/description/颠倒给定的 32 位无符号整数的二进制位。示例:输入: 43261596输出: 964176192解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进...原创 2018-09-17 11:36:56 · 333 阅读 · 0 评论 -
LeetCode:Excel表列序号
题目链接:https://leetcode-cn.com/problems/excel-sheet-column-number/description/给定一个Excel表格中的列名称,返回其相应的列序号。例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB...原创 2018-09-05 15:29:42 · 216 阅读 · 0 评论 -
LeetCode:Excel表列名称
题目链接:https://leetcode-cn.com/problems/excel-sheet-column-title/description/给定一个正整数,返回它在 Excel 表中相对应的列名称。例如, 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 2...原创 2018-09-05 13:13:30 · 282 阅读 · 0 评论 -
LeetCode:相交链表
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/description/编写一个程序,找到两个单链表相交的起始节点。 例如,下面的两个链表:A: a1 → a2 ↘ c1 → c2 → c3...原创 2018-09-02 13:11:44 · 117 阅读 · 0 评论 -
LeetCode: 最小栈
题目链接:https://leetcode-cn.com/problems/min-stack/description/设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) -- 将元素 x 推入栈中。pop() -- 删除栈顶的元素。top() -- 获取栈顶元素。getMin() -- 检索栈中的最小元素。示例:MinSta...原创 2018-09-02 12:14:42 · 397 阅读 · 0 评论 -
LeetCode:寻找重复数
题目链接:https://leetcode-cn.com/problems/find-the-duplicate-number/description/给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。给定一个包含 n + 1 个整数的数组 nums,其数字都在 1...原创 2018-08-30 12:25:34 · 1037 阅读 · 0 评论 -
LeetCode:环形链表 II
题目链接:https://leetcode-cn.com/problems/linked-list-cycle-ii/description/给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。进阶:你是否可以不用额外空间解决此题?思路:先快慢指针检查有无环 当相遇是有环,然后在让一个指针向下一步移动 当两指针再相遇的时候 得...原创 2018-08-30 12:03:33 · 403 阅读 · 0 评论 -
LeetCode:环形链表
题目链接:https://leetcode-cn.com/problems/linked-list-cycle/description/给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?思路:用一个快慢指针即可,当有环的时候 快慢指针必定相遇/** * Definition for singly-linked list. * class ListNode...原创 2018-08-30 11:35:40 · 269 阅读 · 0 评论 -
LeetCode:两数之和 IV - 输入 BST
题目链接:https://leetcode-cn.com/problems/two-sum-iv-input-is-a-bst/description/给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。案例 1:输入: 5 / \ 3 6 / \ \2 4 7Target = 9...原创 2018-09-04 15:46:52 · 212 阅读 · 0 评论 -
LeetCode:基本计算器 II
题目链接:https://leetcode-cn.com/problems/basic-calculator-ii/description/实现一个基本的计算器来计算一个简单的字符串表达式的值。字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。示例 1:输入: "3+2*2"输出: 7示例 2:输入: " 3/2 "输出: ...原创 2018-08-23 18:32:02 · 2433 阅读 · 0 评论 -
LeetCode:最后一个单词的长度
给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:一个单词是指由字母组成,但不包含任何空格的字符串。示例:输入: "Hello World"输出: 5class Solution { public boolean isChar(char c){ int i=(int)c; ...原创 2018-08-23 17:36:29 · 110 阅读 · 0 评论 -
LeetCode:加一
给定一个非负整数组成的非空数组,在该数的基础上加一,返回一个新的数组。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 432...原创 2018-08-14 10:45:24 · 86 阅读 · 0 评论 -
LeetCode: 二叉树的层次遍历 II
题目链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/description/给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 2...原创 2018-08-14 10:15:48 · 321 阅读 · 0 评论