leetocde_Binary Tree Right Side View
来源:互联网 发布:淘宝入驻条件及费用 编辑:程序博客网 时间:2024/05/18 02:10
描述:
Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.
For example:
Given the following binary tree,
1 <--- / \2 3 <--- \ \ 5 4 <---
You should return [1, 3, 4]
.
思路:
按层序遍历的思路,每次只保存该层的最后一个元素即可。
代码:
public List<Integer> rightSideView(TreeNode root) { List<Integer>listReturn=new ArrayList<Integer>(); if(root==null) return listReturn; List<TreeNode>list=new ArrayList<TreeNode>(); List<TreeNode>temp=new ArrayList<TreeNode>(); list.add(root); TreeNode node=null; listReturn.add(root.val); while(list.size()!=0) { for(int i=0;i<list.size();i++) { node=list.get(i); if(node.left!=null) temp.add(node.left); if(node.right!=null) temp.add(node.right); } if(temp.size()>0) listReturn.add(temp.get(temp.size()-1).val); list.clear(); list=temp; temp=new ArrayList<TreeNode>(); } return listReturn; }
结果:
0 0
- leetocde_Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- LeetCodeOJ_199_Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- Binary Tree Right Side View
- R语言基础编程技巧汇编 - 20
- php 设计模式
- WordPress头像无法显示两种解决办法
- 左连接、右连接、交叉连接、全外连接
- Dijkstra算法(两种写法)
- leetocde_Binary Tree Right Side View
- Linux shell "此处需要整数表达式"
- HDOJ 题目2795 Billboard(线段树单点更新)
- C语言指针
- 循环结构中break、continue、return和exit的区别
- 数字的空洞 水 南邮NOJ 1071
- seaJS
- HDU 1358 Period
- UIViewController的生命周期