您的位置 首页 java

二叉树中序遍历

输出下图的 二叉树 中序遍历 结果

解题思路:

  • 中序遍历是先访问根节点的左子树,然后访问根节点,最后访问右子树。依然使用递归处理。

代码片段:

 public  static   void  main(String[] args) {
    // 以0作为分隔,数字0表示空节点
    int[] arr = new int[]{1, 2, 0, 3, 4, 0, 0, 0, 5, 6, 0, 0, 7, 8, 9, 0, 0, 0, 0};
    TreeNode binaryTree = createBinaryTree(arr);
    List<Integer> list = preorderTraversal(binaryTree);
    System.out.println(JSON.toJSONString(list));
}

public static List<Integer> preorderTraversal(TreeNode  root ) {
    List< Integer > res = new ArrayList<>();
    preorder(root, res);
    return res;

}

public static void preorder(TreeNode root, List<Integer> res) {
    if (root == null) {
        return;
    }
    preorder(root.leftChild, res);
    res.add(root.data);
    preorder(root.rightChild, res);
}  

本地执行结果:

LeetCode执行结果:

每天一道算法题,欢迎大佬沟通指正~

文章来源:智云一二三科技

文章标题:二叉树中序遍历

文章地址:https://www.zhihuclub.com/197784.shtml

关于作者: 智云科技

热门文章

网站地图