45、二叉树-二叉树的右视图
思路
层序遍历 从左向右遍历每一层取最后一个数,代码如下:
public List<Integer> rightSideView(TreeNode root) {
if (root==null){
return new ArrayList<>();
}
Queue<TreeNode> queue = new LinkedList<>();
List<Integer> list = new ArrayList<>();
TreeNode cur=root;
queue.add(cur);
while (!queue.isEmpty()){
int size = queue.size();
for (int i = 0; i < size; i++) {
cur = queue.poll();
if (i==size-1){
list.add(cur.val);
}
if (cur.left!=null){
queue.add(cur.left);
}
if (cur.right!=null){
queue.add(cur.right);
}
}
}
return list;
}
原文地址:https://blog.csdn.net/qq_29434541/article/details/137980633
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!