标签:== 视图 def 利用 bin nod int size tree

很简单,来个层次遍历,当遍历队列,遍历到刚开始遍历时,队列里最后一个数时(也就是遍历len-1次),得到的就是右视图的其中一个节点
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {//利用层次遍历,看笔记,自己写的
public List<Integer> rightSideView(TreeNode root) {
List<Integer> res=new ArrayList<Integer>();
if(root==null) return res;
Queue<TreeNode> queue=new LinkedList<TreeNode>();
queue.add(root);
while(!queue.isEmpty())//层次遍历
{
int len=queue.size();
for(int i=0;i<len;i++)
{
TreeNode n=queue.remove();
if(n.left!=null) queue.add(n.left);
if(n.right!=null) queue.add(n.right);
if(i==len-1) res.add(n.val);
}
}
return res;
}
}
标签:== 视图 def 利用 bin nod int size tree
原文地址:https://www.cnblogs.com/lzh1043060917/p/12954747.html