题解 | #求二叉树的前序遍历#

求二叉树的前序遍历

https://www.nowcoder.com/practice/501fb3ca49bb4474bf5fa87274e884b4

import java.util.*;

/*
 * public class TreeNode {
 *   int val = 0;
 *   TreeNode left = null;
 *   TreeNode right = null;
 * }
 */

public class Solution {
    /**
     * 
     * @param root TreeNode类 
     * @return int整型ArrayList
     */
    public ArrayList<Integer> preorderTraversal (TreeNode root) {
        ArrayList<Integer> res = new ArrayList<>();
        traversal(res, root); // 遍历逻辑
        return res;
    }

    public void atraversal(ArrayList<Integer> list, TreeNode root) {
        if (root == null) {
            return;
        }
        list.add(root.val); // 优先遍历根节点
        a(list, root.left); // 遍历左子树
        a(list, root.right); // 遍历右子树
    }
}

二叉树的前序遍历、中序遍历、后序遍历,前中后代表的是根节点的递归顺序,剩余节点都是从左往右遍历。

比如前序遍历,表示根节点会优先遍历(根节点在前),从左往右,一颗树的根节点永远在左子树前,左子树又永远在右子树前;

中序遍历,表示根节点在中,从左往右,一颗树的左子树节点永远在根节点前,根节点又永远在右子树节点前;

后序遍历,表示根节点在后,从左往右,一棵树的左子树节点永远在右子树节点前,右子树节点又永远在左子树节点前;

#二叉树的递归#
全部评论

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务