【每日一题】LeetCode 94. 二叉树的中序遍历TypeScript
给定一个二叉树的根节点root返回它的中序遍历。示例 1输入root [1,null,2,3]输出[1,3,2]示例 2输入root []输出[]示例 3输入root [1]输出[1]提示树中节点数目在范围[0, 100]内-100 Node.val 100首先复习一下什么是二叉树的中序遍历二叉树有两种遍历算法①深度优先遍历DFS有以下三种前序根左右中序左根右后序左右根都是根据根节点的位置区分的。②广度优先遍历BFS由上到下、由左到右逐层遍历节点。题解递归/** * Definition for a binary tree node. * class TreeNode { * val: number * left: TreeNode | null * right: TreeNode | null * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) { * this.val (valundefined ? 0 : val) * this.left (leftundefined ? null : left) * this.right (rightundefined ? null : right) * } * } */ function inorderTraversal(root: TreeNode | null): number[] { //定义空数组存放排序后的数字列表 let setNode:number[] [] //递归 const inorder (node:TreeNode | null){ //如果没有那就没有 if(!node) return //先遍历左节点 inorder(node.left) //把根节点唯一的number插到数组的末尾 setNode.push(node.val) //最后遍历右节点 inorder(node.right) } inorder(root) return setNode };