200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【剑指offer】面试题32 - II:从上到下打印二叉树 II(Java)

【剑指offer】面试题32 - II:从上到下打印二叉树 II(Java)

时间:2021-08-19 04:52:27

相关推荐

【剑指offer】面试题32 - II:从上到下打印二叉树 II(Java)

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。

例如:

给定二叉树:[3,9,20,null,null,15,7],

3

/ \

9 20

/ \

15 7

返回其层次遍历结果:

[

[3],

[9,20],

[15,7]

]

提示:

节点总数 <= 1000

代码:

/**

*Definitionforabinarytreenode.

*publicclassTreeNode{

*intval;

*TreeNodeleft;

*TreeNoderight;

*TreeNode(intx){val=x;}

*}

*/

classSolution{

publicList<List<Integer>>levelOrder(TreeNoderoot){

List<List<Integer>>result=newArrayList<List<Integer>>();

List<Integer>list=newArrayList<Integer>();

Deque<TreeNode>deque=newLinkedList<>();

if(root==null)returnresult;

TreeNodeflag=root;

deque.offer(root);

while(!deque.isEmpty())

{

TreeNodep=deque.poll();

list.add(p.val);

if(p.left!=null)

{

deque.offer(p.left);

}

if(p.right!=null)

{

deque.offer(p.right);

}

if(flag==p)

{

flag=deque.peekLast();

result.add(list);

list=newArrayList<>();

}

}

returnresult;

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。