当前位置: 首页 > 知识库问答 >
问题:

使用递归更改变量

姚兴安
2023-03-14

对于二进制搜索树,我只能访问根节点,而我正在尝试编写一个递归方法来挖掘其左节点。

例如

root.left();

成为

根左()。左();

然后,

根左()。左();

你看这是怎么回事...有没有递归的方法来更改/添加到变量中?

共有1个答案

龙浩博
2023-03-14

像这样的东西?

Node node = root;
while (someCondition) {
    node = node.left();
    // do something with the node
}
 类似资料:
  • 我写了下面的代码来反转链表的前K个节点,它在反转链表的前K个节点时解决了一些问题,为什么递归在最后一次迭代中执行两次,现在它可以正常工作,但为什么它会导致链表中的循环当我尝试在“if”条件下使用变量“k”而不是“PresCouner”时,原因是什么?以及如何避免它?

  • 我有两个非递归方法,其中一个读取字符串中的总“e”字符,另一个检查 ArrayList 是否按字母顺序排列。 递归方法的定义是方法调用自身。我相信我理解这个概念,但要实现它或将其转换为递归方法确实很困难。我怎样才能将这些方法转化为递归方法,同时我应该如何思考?此外,这是我的另一种方法,它只打印出指定数字大小的数字。 条件方法检查数字的第一个数字(从右起)是否大于第二个数字,并再次检查第二个是否大于

  • 给定目标金额和硬币面额列表,我的代码应该找到达到目标金额所需的最少硬币。 示例: > 我们可以从3x253x1做78,所以需要6个硬币 48=2x24,因此2枚硬币就足够了 我们可以从2x161x3中得到35,所以3个硬币就足够了 我用for循环编写了代码,但如何使其递归?

  • 我有一个递归函数,需要创建一个由特殊对象组成的数组... 我的自定义对象由此类填充: 这是我的递归函数: 在这个函数中,RandomBool()方法随机返回true/false。。。RandomId()也不重要。。。 问题在于“位置”数组。我希望每个项目都有特定的位置数组,例如: 对于第一步,每个项目都需要有:[0]、[1]、[2]、[3]。。。 下一步,假设我们选择了3:[3,0],[3,1],

  • 函数甚至可以不使用局部变量来调用自己. 例子 23-14. 汉诺塔 1 #! /bin/bash 2 # 3 # 汉诺塔(The Towers Of Hanoi) 4 # Bash script 5 # Copyright (C) 2000 Amit Singh. All Rights Reserved. 6 # http://hanoi.kernelthrea

  • 我试图表示一个树状递归数据结构,其中每个节点可能是两种不同数据类型中的一种。我使用boost变体来“容纳”可能出现在每个节点上的两种类型。 但是,我遇到了一个问题。我严格使用“using”指令声明所有这些类型,因此当我到达节点的递归性质时,它会失败,因为typedef/using可能不会使用递归。 如何做到这一点? 我已经探索过使用boost::make_recursive_variant,但它创