leetcode199二叉树的右视图
Posted lisin-lee-cooper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode199二叉树的右视图相关的知识,希望对你有一定的参考价值。
一.问题描述
给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
输入: [1,2,3,null,5,null,4]
输出: [1,3,4]
二.示例代码
public class BSTRightView199 {
public static void main(String[] args) {
TreeNode treeNode1 = new TreeNode(1);
TreeNode treeNode2 = new TreeNode(2);
TreeNode treeNode3 = new TreeNode(3);
TreeNode treeNode5 = new TreeNode(5);
TreeNode treeNode4 = new TreeNode(4);
treeNode1.left = treeNode2;
treeNode1.right = treeNode3;
treeNode2.right = treeNode5;
treeNode3.right = treeNode4;
List<Integer> result = BSTRightView(treeNode1);
System.out.println(result);
}
public static List<Integer> BSTRightView(TreeNode root) {
List<Integer> result = new ArrayList<>();
rightPreOrder(root, 0, result);
return result;
}
public static void rightPreOrder(TreeNode node, int depth, List<Integer> ans) {
if (node != null) {
if (depth == ans.size()) {
ans.add(node.val);
}
rightPreOrder(node.right, depth + 1, ans);
rightPreOrder(node.left, depth + 1, ans);
}
}
}
以上是关于leetcode199二叉树的右视图的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 199. 二叉树的右视图(Binary Tree Right Side View)