节点的结构如下,以力扣为标准
class TreeNode {
val: number
left: TreeNode | null
right: TreeNode | null
constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
this.val = (val == undefined ? 0 : val)
this.left = (left == undefined ? null : left)
this.right = (right == undefined ? null : right)
}
}const preorderTraversal = (root: TreeNode | null): number[] => {
if (root == null) return []
return [root.val, ...preorderTraversal(root.left), ...preorderTraversal
const preorderTraversal = (root: TreeNode | null): number[] => {
const ans: number[] = []
const stack: TreeNode[] = [root]
while
const inorderTraversal = (root: TreeNode | null): number[] => {
if (root == null) return []
return [...inorderTraversal(root.left), root.val, ...inorderTraversal(
const inorderTraversal = (root: TreeNode | null): number[] => {
const ans: number[] = []
const stack: TreeNode[] = []
let cur
const postorderTraversal = (root: TreeNode | null): number[] => {
if (root == null) return []
return [...postorderTraversal(root.left), ...postorderTraversal(
const postorderTraversal = (root: TreeNode | null): number[] => {
const ans: number[] = []
const stack: TreeNode[] = [root]
while
const levelOrder = (root: TreeNode | null): number[][] => {
const ans: number[][] = []
const dfs = (node: TreeNode |
const levelOrder = (root: TreeNode | null): number[][] => {
if (root == null) return []
const ans: number[][] =
const buildTree = (preorder: number[], inorder: number[]): TreeNode | null => {
if (preorder.length == 0) return null
const root_val = preorder[0]
const buildTree = (inorder: number[], postorder: number[]): TreeNode | null => {
if (postorder.length == 0) return null
const root_val = postorder.at(-
const buildTree = (preorder: number[], postorder: number[]): TreeNode | null => {
if(preorder.length == 0) return null
const [root_val, sub_root_val] =