Binary Tree Level Order Traversal II
2015-03-11 08:49
447 查看
Binary Tree Level Order Traversal II
问题:
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
思路:
层次遍历 BFS
我的代码:
View Code
学习之处:
ArrayList竟然还有这个add(index,Object)功能,如此便省去了翻转链表的时间,插入表头的时间O(n),翻转链表的时间O(n),实际的程序运行时间也一致。
问题:
Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, from left to right, level by level from leaf to root).
思路:
层次遍历 BFS
我的代码:
public class Solution { public ArrayList<ArrayList<Integer>> levelOrderBottom(TreeNode root) { ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>(); if (root == null) { return result; } Queue<TreeNode> queue = new LinkedList<TreeNode>(); queue.offer(root); int currLevelNodeNum = 1; int nextLevelNodeNum = 0; while (currLevelNodeNum != 0) { ArrayList<Integer> currLevelResult = new ArrayList<Integer>(); nextLevelNodeNum = 0; while (currLevelNodeNum != 0) { TreeNode node = queue.poll(); currLevelNodeNum--; currLevelResult.add(node.val); if (node.left != null) { queue.offer(node.left); nextLevelNodeNum++; } if (node.right != null) { queue.offer(node.right); nextLevelNodeNum++; } } result.add(0, currLevelResult); currLevelNodeNum = nextLevelNodeNum; } return result; } }
View Code
学习之处:
ArrayList竟然还有这个add(index,Object)功能,如此便省去了翻转链表的时间,插入表头的时间O(n),翻转链表的时间O(n),实际的程序运行时间也一致。
相关文章推荐
- [LeetCode 107] Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- LeetCode - Binary Tree Level Order Traversal II
- [leet code] Binary Tree Level Order Traversal II
- 71_leetcode_Binary Tree Level order traversalII
- Binary Tree Level Order Traversal II
- LeetCode题解:Binary Tree Level Order Traversal II
- [leetcode]Binary Tree Level Order Traversal II
- leetcode刷题日记—— Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- LeetCode Binary Tree Level Order Traversal II
- 【LeetCode】Binary Tree Level Order Traversal II
- leetcode[107]:Binary Tree Level Order Traversal II
- 5.1.5 Binary Tree Level Order Traversal II
- (待思考--不采用逆置等的思想)107. Binary Tree Level Order Traversal II
- [LeetCode]Binary Tree Level Order Traversal II
- LeetCode | Binary Tree Level Order Traversal II
- Binary Tree Level Order Traversal II
- leetcode 107 Binary Tree Level Order Traversal II C++
- Binary Tree Level Order Traversal II leetcode java