bfs的变形
用count保存当前层数,当达到dep时进行成殓操作
public class TreeLevel {
public ListNode getTreeLevel(TreeNode root, int dep) {
// write code here
int count = 1;
Deque<TreeNode> queue = new ArrayDeque<>();
queue.offer(root);
ListNode head = new ListNode(-1);
ListNode p = head;
while(!queue.isEmpty()){
for(int i = queue.size() - 1; i >= 0 ; i --){
TreeNode node = queue.poll();
if(count == dep){
p.next = new ListNode(node.val);
p = p.next;
}
if(node.left != null) queue.add(node.left);
if(node.right != null) queue.add(node.right);
}
count ++;
}
return head.next;
}
} 
京公网安备 11010502036488号