当前位置:网站首页>牛客-TOP101-BM41
牛客-TOP101-BM41
2022-08-02 04:41:00 【一条吃猫的鱼】
import java.util.*;
public class Solution {
/** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 求二叉树的右视图 * @param xianxu int整型一维数组 先序遍历 * @param zhongxu int整型一维数组 中序遍历 * @return int整型一维数组 */
public TreeNode reConstructBinaryTree(int [] pre,int [] vin) {
int n = pre.length;
int m = vin.length;
if(n == 0 || m == 0){
return null;
}
TreeNode t = new TreeNode(pre[0]);
for(int i = 0; i < vin.length; i++){
if(pre[0] == vin[i]){
t.left = reConstructBinaryTree(Arrays.copyOfRange(pre, 1, i+1), Arrays.copyOfRange(vin, 0, i));
t.right = reConstructBinaryTree(Arrays.copyOfRange(pre, i+1, pre.length), Arrays.copyOfRange(vin, i+1, vin.length));
break;
}
}
return t;
}
public ArrayList<Integer> rightSideView(TreeNode root){
ArrayList<Integer> list = new ArrayList<>();
Deque<TreeNode> deque = new LinkedList<>();
deque.offerLast(root);
while(!deque.isEmpty()){
int size = deque.size();
TreeNode t = null;
while(size != 0){
t = deque.pollFirst();
if(t.left != null)
deque.offerLast(t.left);
if(t.right != null)
deque.offerLast(t.right);
size--;
}
list.add(t.val);
}
return list;
}
public int[] solve (int[] xianxu, int[] zhongxu) {
// write code here
if(xianxu.length == 0 || zhongxu.length == 0){
return new int[0];
}
TreeNode root = reConstructBinaryTree(xianxu, zhongxu);
ArrayList<Integer> list = rightSideView(root);
int[] res = new int[list.size()];
for(int i = 0; i < list.size(); i++)
res[i] = list.get(i);
return res;
}
}
边栏推荐
猜你喜欢
随机推荐
【疑问】最终推荐的loose pattern 如果依赖module 没有加载完毕,行为如何,是否报错
The line chart with square PyQt5_pyqtgraph mouse
物联网通信协议全解析
STM32 OLED显示屏
gergovia's deal tijie
【面试】招聘要求
【数字IC手撕代码】Verilog固定优先级仲裁器|题目|原理|设计|仿真
斐波那契数列
What if some fields don't want to be serialized?
在 .NET MAUI 中如何更好地自定义控件
Minecraft 1.18.1、1.18.2模组开发 23.3D动画盔甲制作
[QNX Hypervisor 2.2用户手册]9.20 vdev
2022 Huawei Software Elite Challenge (Preliminary) - Summary
递归实现排列型枚举(DAY 93)
【QT】Qt Creator生成动态库(DLL)并调用
Scala基础【常用方法补充、模式匹配】
acwing 最大数
11种你需要了解的物联网(IoT)协议
UE4 局域网联机案例
ZCMU--1891: kotomi and game(C语言)