package com.leetcode102;
import java.util.List;
public class Main {
public static void main(String[] args) {
Integer[] arr = {3, 9, 20, null, null, 15, 7};
TreeNode tree = createTree(arr, 0);
printPreOrder(tree);
System.out.println();
printMidOrder(tree);
System.out.println();
printAfterOrder(tree);
System.out.println();
}
/**
* 前序遍历
*/
public static void printPreOrder(TreeNode tree) {
if (tree != null) {
System.out.print(tree.val == null ? "" : tree.val + " ");
printPreOrder(tree.left);
printPreOrder(tree.right);
}
}
/**
* 中序遍历
*/
public static void printMidOrder(TreeNode tree) {
if (tree != null) {
printMidOrder(tree.left);
System.out.print(tree.val == null ? "" : tree.val + " ");
printMidOrder(tree.right);
}
}
/**
* 后序遍历
*/
public static void printAfterOrder(TreeNode tree) {
if (tree != null) {
printAfterOrder(tree.left);
printAfterOrder(tree.right);
System.out.print(tree.val == null ? "" : tree.val + " ");
}
}
/**
* 创建一个二叉树
* ----3
* -9 20
* -----15 17
*/
public static TreeNode createTree(Integer[] arr, int index) {
TreeNode root = null;
if (index < arr.length) {
root = new TreeNode(arr[index]);
root.left = createTree(arr, 2 * index + 1);
root.right = createTree(arr, 2 * index + 2);
}
return root;
}
}
class TreeNode {
Integer val;
TreeNode left;
TreeNode right;
TreeNode() {
}
TreeNode(Integer val) {
this.val = val;
}
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
}
leetcode二叉树相关模板
Pastthewind2023-10-27 8:43
相关推荐
2301_32241428043 分钟前
基于SpringBoot+Vue的休闲零食超市管理系统的设计与实现59004-计算机毕设 原创(免费领源码+部署教程+开发环境)徐小夕2 小时前
花了3个月,我们做了一款 AI 版的“飞书文档”Robert--cao2 小时前
移动底盘与机械臂联合规划:开源算法与工程实现金銀銅鐵2 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(上)福建佰胜张工3 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地小豆庄3 小时前
Mac 上给视频人脸打码:本地工具的依赖、追踪与推理管线catoop3 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现星夜离尘563 小时前
MATLAB 工程实验:从相邻块均值手写重叠 Allan 偏差,数清有效项system_error_x3 小时前
SpringBoot 集成 Thymeleaf 简洁入门驭渊的小故事4 小时前
Spring AI Alibaba 实战:从maven依赖治理到声明式工具调用