原题
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
输入: [1,2,3,null,5,null,4] 输出: [1, 3, 4] 解释: 1解法
思想
dfs,注意查找顺序即可,用list存储答案下标代表层数,后找到的不会覆盖先找到的
代码
class Solution { List<Integer> ans; public List<Integer> rightSideView(TreeNode root) { ans = new ArrayList<>(); dfs(root,1); return ans; } public void dfs(TreeNode node,int depth){ if(node==null) return; if(ans.size()<depth){ ans.add(node.val); } dfs(node.right,depth+1); dfs(node.left,depth+1); } }
原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/leetcode199-%e4%ba%8c%e5%8f%89%e6%a0%91%e7%9a%84%e5%8f%b3%e8%a7%86%e5%9b%be/