BFS
Dylan_Java_NYC
练很重要,总结更重要,感谢CSDN给了我这么好的平台交流。
展开
-
LeetCode Binary Tree Zigzag Level Order Traversal
原题链接在这里:https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ 这道题是BFS的变形,与Binary Tree Level Order Traversal相似。但是要求偶数行从左到右,奇数行从右到左。 这种顺序正反交替可以用两个stack来实现。一个用来读取,一个用来存储下一层节点。 Time O原创 2015-08-21 07:48:21 · 303 阅读 · 0 评论 -
LeetCode Binary Tree Right Side View
原题链接在这里:https://leetcode.com/problems/binary-tree-right-side-view/ 与Binary Tree Level Order Traversal相似,通过BFS一层一层扫树,这里是仅添加最右面的一个点,就是curCount = 1 的时候。 Note: 当curCount == 0 时,curCount = nextCount, 不原创 2015-09-10 02:16:10 · 255 阅读 · 0 评论 -
LeetCode Recover Binary Search Tree
原题链接在这里:https://leetcode.com/problems/recover-binary-search-tree/ 采用inorder遍历BST应该是返回从小到大的顺序,但这里有两个点顺序错了,所以不会完全从小到大。 如果两个相邻点顺序错了,inorder就应该有一个地方大小顺序颠倒,如果不是相邻点顺序错了,inorder应有两个地方大小顺序颠倒。 e.g. 1234567,原创 2015-09-10 07:04:09 · 378 阅读 · 0 评论 -
LeetCode Binary Tree Level Order Traversal
原题链接在这里:https://leetcode.com/problems/binary-tree-level-order-traversal/ 是一道BFS,利用queue,先进先出,并利用preCount来判断是否走完了当前一层。当preCount = 0 时表示当前一层走完,要把当前list加入res里,再刷新list,问题是不要忘记同时刷新preCount. Time O(n), Sp原创 2015-08-21 06:54:30 · 354 阅读 · 0 评论 -
LeetCode Binary Tree Level Order Traversal II
原题链接在这里:https://leetcode.com/problems/binary-tree-level-order-traversal-ii/ 与Binary Tree Level Order Traversal相似,只是返过来加链表。自然想到多用一个stack即可。像BFS用queue一层一层扫,出queue时添加到list里,用curCount计数,为0时表示当前level走完,li原创 2015-09-05 01:47:27 · 269 阅读 · 0 评论