标签:try lis roman span until enc set 问题 treenode
break the loop at the last node which pointed to the entry.
Given a binary tree, collect a tree‘s nodes as if you were doing this: Collect and remove all leaves, repeat until the tree is empty.
Example:
Given binary tree
1
/ 2 3
/ \
4 5
Returns [4, 5, 3], [2], [1].
public List<List<Integer>> findLeaves(TreeNode root) {
List<List<Integer>> result = new ArrayList<List<Integer>>();
helper(result, root);
return result;
}
// traverse the tree bottom-up recursively
private int helper(List<List<Integer>> list, TreeNode root){
if(root==null)
return -1;
int left = helper(list, root.left);
int right = helper(list, root.right);
int curr = Math.max(left, right)+1;
// the first time this code is reached is when curr==0,
//since the tree is bottom-up processed.
if(list.size()<=curr){
list.add(new ArrayList<Integer>());
}
list.get(curr).add(root.val);
return curr;
}
linked list焦点问题,面经里很多,考虑相交不相交,有环无环 + Find Leaves of Binary Tree (Java)
标签:try lis roman span until enc set 问题 treenode
原文地址:http://www.cnblogs.com/apanda009/p/7952951.html