乐者zmh 2020-08-03 10:08 采纳率: 0%
浏览 60

重建二叉树的一段代码,问题为根据前序和中序数组重建二叉树,代码中有一个TreeNode finish的形参,不知道finish的具体作用是什么?

核心代码:

    int preindex = 0;
    int inindex = 0;
    public TreeNode buildTree(int[] preorder, int[] inorder) {
        return dfs(preorder, inorder, null);
    }
    private TreeNode dfs(int[] preorder, int[] inorder, TreeNode finish) {
        if(preindex == preorder.length || (finish != null && inorder[inindex] ==finish.val))
            return null;
        TreeNode root = new TreeNode(preorder[preindex++]);
        root.left = dfs(preorder, inorder, root);
        inindex++;
        root.right = dfs(preorder, inorder, finish);
        return root;
    }

“root.right = dfs(preorder, inorder, finish);”中的finish理解不了
因为我认为finish只是一个形式参数,没有实参传递给它。所以我不知道finish在函数体中具体是什么。希望大佬们指导一下!!!

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-08-03 14:28
    关注

    就你这段代码没有看到对finish的赋值,也就是说finish一直是null
    但是在一些情况下,首次调用,第三个参数传入finish,不是null,可以设置为迭代到这个节点就停止继续遍历。

    评论

报告相同问题?

悬赏问题

  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。
  • ¥15 livecharts wpf piechart 属性
  • ¥20 数学建模,尽量用matlab回答,论文格式