摘要: Easy! 题目描述: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 说明: 如果你可以运用递归和迭代两种方法解决这个问题,会很加分。 解题思路: 判断二叉树是否是平衡 阅读全文
posted @ 2018-06-09 16:02 Ariel_一只猫的旅行 阅读(5642) 评论(0) 推荐(0) 编辑
摘要: Easy! 题目描述: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3] 输出: true 示例 2: 输入: 1 1 / \ 2 2 [ 阅读全文
posted @ 2018-06-09 15:59 Ariel_一只猫的旅行 阅读(624) 评论(0) 推荐(0) 编辑
摘要: Hard! 题目描述: 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 示例 1: 示例 2: 进阶: 使用 O(n) 空间复杂度的解法很容易实现。 你能想出一个只使用常数空间的解决方案吗? 解题思路: 这道题要求我们复原一个二叉搜索树,说是其中有两个的顺序被调换了,题 阅读全文
posted @ 2018-06-09 15:55 Ariel_一只猫的旅行 阅读(2517) 评论(0) 推荐(1) 编辑
摘要: Medium! 题目描述: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 示例 2: 解题思路: 这道验证二叉搜索树有很多种解法,可 阅读全文
posted @ 2018-06-09 15:49 Ariel_一只猫的旅行 阅读(6392) 评论(0) 推荐(0) 编辑
摘要: Hard! 题目描述: 给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。 示例 1: 示例 2: 解题思路: 这道求交织相错的字符串和之前那道 Word Break 拆分词句 的题很类似,就像之前说的只要是遇到字符串的子序列或是匹配问题直接就上动态规划Dyn 阅读全文
posted @ 2018-06-09 15:45 Ariel_一只猫的旅行 阅读(1875) 评论(0) 推荐(1) 编辑
摘要: Medium! 题目描述: 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 解题思路: 这道题实际上是 Catalan Number卡塔兰数的一个例子,如果对卡塔兰数不熟悉的童鞋可能真不太好做。先来看当 n = 1的情况,只能形成唯一的一棵二叉搜索树,n分别为1,2 阅读全文
posted @ 2018-06-09 15:40 Ariel_一只猫的旅行 阅读(3399) 评论(0) 推荐(2) 编辑
摘要: Medium! 题目描述: 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。 示例: 解题思路: 这种建树问题一般来说都是用递归来解,这道题也不例外,划分左右子树,递归构造。至于递归函数中为啥都用的是指针,是参考了http://fisherlei.blogspot.com/2 阅读全文
posted @ 2018-06-09 15:35 Ariel_一只猫的旅行 阅读(3031) 评论(0) 推荐(0) 编辑
摘要: Medium! 题目描述: 给定一个二叉树,返回它的中序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法完成吗? 解题思路: 二叉树的中序遍历顺序为左-根-右,可以有递归和非递归来解,其中非递归解法又分为两种,一种是使用栈来解,另一种不需要使用栈。我们先来看递归方法,十分直接,对左子结点 阅读全文
posted @ 2018-06-09 15:24 Ariel_一只猫的旅行 阅读(2290) 评论(0) 推荐(0) 编辑
摘要: Medium! 题目描述: 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例: 解题思路: IP地址由32位二进制数组成,为便于使用,常以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数。所以说IP地址总共有四段,每一段可能有一位,两位或者 阅读全文
posted @ 2018-06-09 15:16 Ariel_一只猫的旅行 阅读(4141) 评论(0) 推荐(3) 编辑
摘要: Medium! 题目描述: 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 反转从位置 m 到 n 的链表。请使用一 阅读全文
posted @ 2018-06-09 15:08 Ariel_一只猫的旅行 阅读(1316) 评论(0) 推荐(1) 编辑
摘要: Medium! 题目描述: 一条包含字母 A-Z 的消息通过以下方式进行了编码: 给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 1: 示例 2: 解题思路: 这道题要求解码方法,跟之前那道 Climbing Stairs 爬梯子问题 非常的相似,但是还有一些其他的限制条件,比如说一位 阅读全文
posted @ 2018-06-09 14:57 Ariel_一只猫的旅行 阅读(3310) 评论(0) 推荐(1) 编辑
摘要: Medium! 题目描述: 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 解题思路: 这道子集合之二是之前那道 Subsets 子集合 的延伸,这次输入数组允许有重复项,其他条件都不变,只需要在之前那道题解法的基础上稍加改动 阅读全文
posted @ 2018-06-09 14:48 Ariel_一只猫的旅行 阅读(820) 评论(0) 推荐(0) 编辑
摘要: Medium! 题目描述: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印格雷码序列。格雷码序列必须以 0 开头。 例如,给定 n = 2,返回 [0,1,3,2]。其格雷编码是: 00 - 0 01 - 1 11 - 3 1 阅读全文
posted @ 2018-06-09 14:44 Ariel_一只猫的旅行 阅读(1167) 评论(0) 推荐(0) 编辑
摘要: Easy! 题目描述: 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保 阅读全文
posted @ 2018-06-09 14:19 Ariel_一只猫的旅行 阅读(3008) 评论(0) 推荐(2) 编辑
摘要: Hard! 题目描述: 给定一个字符串 s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。 下图是字符串 s1 = "great" 的一种可能的表示形式。 在扰乱这个字符串的过程中,我们可以挑选任何一个非叶节点,然后交换它的两个子节点。 例如,如果我们挑选非叶节点 "gr" ,交 阅读全文
posted @ 2018-06-09 14:11 Ariel_一只猫的旅行 阅读(2721) 评论(0) 推荐(0) 编辑
摘要: Medium! 题目描述: 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 解题思路: 这道题要求我们划分链表,把所有小于给定值的节点都移到前面,大于该值的节点顺序不变,相当于一个局部排序的 阅读全文
posted @ 2018-06-09 13:58 Ariel_一只猫的旅行 阅读(1890) 评论(0) 推荐(0) 编辑
摘要: Hard! 题目描述: 给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ ["1","0","1","0","0"], ["1","0","1","1","1"], ["1","1","1","1","1"], ["1& 阅读全文
posted @ 2018-06-09 13:47 Ariel_一只猫的旅行 阅读(3337) 评论(0) 推荐(0) 编辑
摘要: Hard! 题目描述: 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 阅读全文
posted @ 2018-06-09 13:40 Ariel_一只猫的旅行 阅读(4082) 评论(0) 推荐(0) 编辑
摘要: Easy! 题目描述: 给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。 示例 1: 示例 2: 解题思路: 移除有序链表中的重复项需要定义个指针指向该链表的第一个元素,然后第一个元素和第二个元素比较,如果重复了,则删掉第二个元素,如果不重复,指针指向第二个元素。这样遍历完整个链表,则 阅读全文
posted @ 2018-06-09 13:24 Ariel_一只猫的旅行 阅读(1480) 评论(0) 推荐(0) 编辑
摘要: Medium! 题目描述: 给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。 示例 1: 示例 2: 解题思路: 和之前那道 (http://www.cnblogs.com/grandyang/p/4066453.html) 不同的地方是这里要删掉所有的重复项, 阅读全文
posted @ 2018-06-09 13:17 Ariel_一只猫的旅行 阅读(3207) 评论(0) 推荐(0) 编辑