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

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

时间:2019-12-12 19:50:35

相关推荐

【剑指offer】面试题32 - I:从上到下打印二叉树(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{

publicint[]levelOrder(TreeNoderoot){

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

Queue<TreeNode>queue=newLinkedList<>();

if(root==null)returnnewint[]{};

queue.offer(root);

while(!queue.isEmpty())

{

TreeNodep=queue.poll();

list.add(p.val);

if(p.left!=null)

{

queue.offer(p.left);

}

if(p.right!=null)

{

queue.offer(p.right);

}

}

int[]res=newint[list.size()];

for(inti=0;i<res.length;i++){

res[i]=list.get(i);

}

returnres;

}

}

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