美文网首页
递归传参

递归传参

作者: 鸭蛋蛋_8441 | 来源:发表于2019-06-07 06:11 被阅读0次

用递归遍历二叉树时,可能需要记录每个节点的值或者经过的节点数,前者可以用list来实现,由于list是引用对象,递归的每一次函数调用都会对其进行修改, 只需要作为函数的参数传导, 然后直接返回就可以, 不需要用临时变量。如下代码所示:

但是要计算经过的节点数目时,传的是一个普通变量,如果不用临时变量,变量的值在完成该次函数调用之后的修改不会返回到上一层去,必须用临时变量将其记录下来并传入下一个函数中。以下代码是寻找中序遍历的第K个节点并返回其值的代码,可以看到经过的节点数目需要不断的返回并记录。

在使用时要注意这两者的区别,才能得到想要的结果,当然上题还有一种做法是运用全局变量去记录K 和 result,如下图所示

相关文章

  • 递归传参

    用递归遍历二叉树时,可能需要记录每个节点的值或者经过的节点数,前者可以用list来实现,由于list是引用对象,递...

  • 传参和递归

    1. 传参数 1. 向函数传递元祖 现有一个函数(三个形参),元祖t1/t2 直接给函数传入元祖,都报错:只给了...

  • Summary(2)

    函数 函数的定义 传参 - 实参、形参 自身调用- 递归 返回值 - 零个到多个 在其他程序文件中进行调用 作用域...

  • 20170831_floyd

    输出: 反思:1、二维数组传参时形参如果是二次指针则应先转换再使用,否则至少给出数组宽度。2、输出路径使用递归,第...

  • vue - 路由带参跳转

    vue路由传参按照传参方式可划分为params传参和query传参; params传参分为在url中显示和影藏参数...

  • Python 入门之 递归

    Python 入门之 递归 1、递归: 递:一直传参 归:返回 (1)不断调用自己本身(无效递归 -- 死递归) ...

  • 8. 汇编-ESP寻址 EBP寻址

    8. 汇编-ESP寻址 EBP寻址 寄存器传参和堆栈传参 寄存器传参 堆栈传参 --ESP寻址 堆栈传参 --EBP寻址

  • Python中的参数传递都有哪些

    大体上分为三种(位置传参和关键字传参以及综合传参)位置传参又包含普通位置传参和序列传参(也是位置传参的一种)关键字...

  • Vue axios使用Blob下载二进制流文件

    get 传参 post 传参

  • JavaSE之方法

    五、方法 目录:何谓方法、方法的定义及调用、方法重载、命令行传参、可变参数、递归 1.什么是方法? Java方法是...

网友评论

      本文标题:递归传参

      本文链接:https://www.haomeiwen.com/subject/feopxctx.html