LeetCode No.12中序遍历

1. LeetCode94题目链接链接

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

2.题目解析

首先需要了解一下什么是前序遍历,中序遍历以及后序遍历。https://blog.csdn.net/qq_33243189/article/details/80222629
简单来说中序就是本着左根右的顺序来排序。那么问题就简单了,根据节点是否为null来判断,然后先添加左边节点,然后根节点,最后添加右边节点就可以了。最简单的方法就是递归了。

 public static List  inorderTraversal(TreeNode root) {
        List data = new ArrayList<>();
        addNode(root, data);
        return data;
    }

    public static void addNode(TreeNode root, List  data) {
        if (root != null) {
            //先判断左边在判断右边
            if (root.left != null) {
                addNode(root.left, data);
            }
            data.add(root.val);
            if (root.right != null) {
                addNode(root.right, data);
            }
        }
    }

3.提交结果

你可能感兴趣的:(LeetCode No.12中序遍历)