上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 22 下一页
摘要: Recursive 一开始我想用preorder加上prev指针来做,但是很快就发现了问题。由于preorder,root先处理,而在本题中,即先将root加到之前的prev之后。假如树是 (1 (2) (3)),dfs到节点2时,prev->right=root 会使得1的右儿子变成2,这会使得节 阅读全文
posted @ 2018-08-26 00:05 約束の空 阅读(217) 评论(0) 推荐(0)
摘要: 和 148. Sort List 一样的思路,需要把链表一分为二,利用快慢指针即可。 需要注意的是,写完一定要 两个节点 三个节点 代入几个 test case 检查一下,非常容易出错。下面做法是把最后slow的位置作为 root,递归左半边和右半边。 时间复杂度 O(nlogn) 空间复杂度 O( 阅读全文
posted @ 2018-08-25 23:17 約束の空 阅读(122) 评论(0) 推荐(0)
摘要: 第一想法是建立一个足够大的bool数组,i遍历,如果nums[i]是ugly num,那么 2*nums[i] 3*nums[i] 5*nums[i] 一定也是 ugly num。最后遍历一遍找到第n个,但是这样空间会超,不行。 继续这个思路,可以利用一个优先队列,重复元素直接过掉,可以AC。但是时 阅读全文
posted @ 2018-08-25 11:16 約束の空 阅读(95) 评论(0) 推荐(0)
摘要: 方法一:pop count 利用 191. The number of 1 bits 中的方法,算是bit manipulation 中的巧妙操作,每次 n = n&(n-1) 把最低位的 1 置为 0 。 时间复杂度 O(nk),k表示数字中1的位数。 方法二:DP DP方法有很多,如 dp[i] 阅读全文
posted @ 2018-08-25 08:08 約束の空 阅读(90) 评论(0) 推荐(0)
摘要: 这道题和树基本没什么关系,完全就是 Catalan Number。 给定一个数 i , 1作为根,左边有 0 个节点,右边有 i-1 个节点 2作为根,左边有 1 个节点,右边有 i-2 个节点 ... i 作为根,左边有 i-1 个节点,右边有 0 个节点 记 dp[i] 为给定 i 时的个数,d 阅读全文
posted @ 2018-08-25 06:36 約束の空 阅读(80) 评论(0) 推荐(0)
摘要: 二叉查找树的套路一般都是 先根据 root->val 和一些条件缩小范围。 本题中,如果 根节点小于L,递归右子树,如果大于R,递归左子树。如果在两者之间,表明root一定是符合要求的,递归左子树和右子树,并和root接起来。 时间复杂度 O(n),最多访问每个节点一次。 空间复杂度 O(h) 递归 阅读全文
posted @ 2018-08-25 05:06 約束の空 阅读(78) 评论(0) 推荐(0)
摘要: 236. Lowest Common Ancestor of a Binary Tree 递归寻找p或q,如果找到,层层向上返回,知道 root 左边和右边都不为NULL:if (left!=NULL && right!=NULL) return root; 时间复杂度 O(n),空间复杂度 O(H 阅读全文
posted @ 2018-08-25 04:16 約束の空 阅读(95) 评论(0) 推荐(0)
摘要: 二叉树的问题,这里主要关心一下时间复杂度。 先回忆一下求二叉树深度的问题,T(n) = 2T(n/2)+1 -> O(n) 本题 T(n) = 2T(n/2) + O(n) -> O(nlogn) 最坏情况是O(n^2) 可以继续优化,一旦发现子树不是平衡的,返回-1,最后只要判断 f(root)! 阅读全文
posted @ 2018-08-25 03:16 約束の空 阅读(104) 评论(0) 推荐(0)
摘要: 这几道题都是pattern的题目, Isomorphic Strings 和 Word Pattern 是完全一样的问题,Find and Replace Pattern 本质也一样。 第一种思路,建立两个map,将字符(或字符串)映射到所在的位置 i+1,每次只需要判断 map1[a]==map2 阅读全文
posted @ 2018-08-25 01:06 約束の空 阅读(129) 评论(0) 推荐(0)
摘要: 看起来很难,但是仔细想一下,实质就是二叉树的中序遍历的问题,中序遍历有递归和非递归(至少两种写法)。 递归: 非递归 Divide and Conquer 思路和中序遍历很类似,但是代码写起来有一点不一样。感觉这种方法思路更加清晰。 阅读全文
posted @ 2018-08-24 23:43 約束の空 阅读(1379) 评论(0) 推荐(0)
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 22 下一页