109. Convert Sorted List to Binary Search Tree: 基本上是会做的,但是这个运用了一些小技巧,利用额外的index来记录当前的位置,有两种方法,一种是直接找中点然后写递归,这个比较直观,第二种是利用额外的index做一遍inorder traversal,稍微难想一些
113. Path Sum II: 两点要注意,一是backtracking的时候分左右,二是要判断左右是否为None,只有非None的时候才进入backtracking的下一层
114. Flatten Binary Tree to Linked List: inorder traversal如何变换link的问题。用递归的想法,先把左边flatten了,然后再记录一些值,然后再flatten右边。
116. Populating Next Right Pointers in Each Node: 就是level traversal,没什么做的
117. Populating Next Right Pointers in Each Node II: 这题和上一题有意思的地方在于如果限定constant space该怎么办,这时候就要loop当前层的node来链接下一层的node
120. Triangle: 这道题的空间优化还是花了一些时间来做的,要开一章专门总结DP的空间优化的
127. Word Ladder: 一层一层找,注意一下查重
129. Sum Root to Leaf Numbers: 和113差不多,左右subtree 的backtracking
130. Surrounded Regions: 检查所有靠边缘的0,然后把其改为S,并且把它的上下左右的0加入到queue里
131. Palindrome Partitioning: 凡事列举所有可能性的,都可以用backtracking试一试。这道题要创建一个PalindromeMap,条件是if s[i] == s[j] and (i - j <= 2 or dp[j+1][i-1]),可以对backtracking进行剪枝
7.4 - medium总结7
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
- 目录 简书的 markdown 都不支持 [TOC] 语法……我就不贴目录了。下面按照类别,列出了29道关于二叉树...