leetcode199
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
右视图
遇到一层就添加一个Int,若深度没变则更新res(index)
class Solution {
List<Integer> res = new ArrayList<>();
public List<Integer> rightSideView(TreeNode root) {
if(root == null)
return null;
dfs(root,0);
return res;
}
public void dfs(TreeNode root,int depth){
if(root == null)
return;
if(depth >= res.size())
res.add(new Integer(1)); // res.add(root.val);
res.set(depth,root.val); // depth++;
depth++; // dfs(root.right,depth);
dfs(root.left,depth); // dfs(root.left,depth);
dfs(root.right,depth);
}
}
左视图
遇到新一层,就添加改节点值
class