Advertisement

TypeScript: 二叉树中序遍历(递归与非递归实现)

阅读量:

TypeScript算法-94.二叉树的中序遍历

  • 思路
    • 解法一
    • 解法二

思路

许久未接触树结构,感觉有些生疏了。不过仍记得先序、中序和后序遍历的核心区别在于根节点的访问顺序,其中中序遍历的规则是优先访问左子树,接着处理当前节点,最后再遍历右子树。

查阅了自己以前写的博客的内容,《没啥说的》一文中对各类遍历方式的描述较为清晰,记录得也比较到位。

解法一

采用递归方式实现时,需特别关注递归过程中的终止条件,并确保遍历所得结果能够被正确存储于全局变量中。

复制代码
    type TNode = TreeNode | null;
    
    /** Definition for a binary tree node. */
    class TreeNode {
    val: number;
    left: TNode;
    right: TNode;
    constructor(val?: number, left?: TNode, right?: TNode) {
        this.val = val !== undefined ? val : 0;
        this.left = left !== undefined ? left: null;
        this.r

全部评论 (0)

还没有任何评论哟~