class Solution {
public List<Integer> rightSideView(TreeNode root) {
//通过层序遍历获取每一层的最右侧节点
//通过一个队列来获取层序遍历
if(root == null)
return new ArrayList<>();
List<Integer> resultList = new ArrayList<>();
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while(!queue.isEmpty()){
int levelLen = queue.size();
for(int i = 0;i < levelLen;i++){
TreeNode temp = queue.poll();
if(i == levelLen-1)
resultList.add(temp.val);
if(temp.left != null)
queue.add(temp.left);
if(temp.right != null)
queue.add(temp.right);
}
}
return resultList;
}
}
leetcode199. 二叉树的右视图
最新推荐文章于 2024-09-14 18:52:56 发布