摘要: 给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true示例 2:输入: 1 1... 阅读全文
posted @ 2019-03-17 14:44 散装英语king 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 一条包含字母 A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。示例 2:输入: "226"输出: 3解释: 它可以解码为 "BZ" (2 26), "VF" (22 6), 或者 "BBF" (2 阅读全文
posted @ 2019-03-16 20:46 散装英语king 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5,1], [4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。 思路: 动态规划 dp[i][j] = grid[i][j] + Math.min(dp[i - 1][j], ... 阅读全文
posted @ 2019-03-15 16:31 散装英语king 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 不同路径||一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。输入:[ [0,0,0], [0,1... 阅读全文
posted @ 2019-03-13 09:14 散装英语king 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 1 class Solution206 { 2 3 //迭代 4 public ListNode reverseList(ListNode head) { 5 ListNode dummyHe... 阅读全文
posted @ 2019-03-12 16:07 散装英语king 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题? 1 class Solution206 { 2 3 //迭代 4 public ListNode reverseList(ListNode head) { 5 ListNode dummyHe... 阅读全文
posted @ 2019-03-12 16:07 散装英语king 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 给定一个没有重复数字的序列,返回其所有可能的全排列。 示例: 阅读全文
posted @ 2019-03-11 10:06 散装英语king 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 给定一个二叉树 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。 示例: 阅读全文
posted @ 2019-03-10 15:58 散装英语king 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。调用 next() 将返回二叉搜索树中的下一个最小的数。示例: BSTIterator iterator = new BSTIterator(root);iterator.next(); // 返回 3iterator.next(); // 返回 7iterator.hasNext(); // 返回 trueite... 阅读全文
posted @ 2019-03-09 18:00 散装英语king 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。注意: 先后弹出的元素是有顺序之分的! 1 class Solution150 { 2 3 public int evalRPN(String... 阅读全文
posted @ 2019-03-08 13:54 散装英语king 阅读(701) 评论(0) 推荐(0) 编辑