java - 递归条件和基本情况确认

标签 java recursion

我发现这段代码解决了如何在给定的 2D 矩阵挑战中查找单词。我正在尝试理解作者的方法。

https://gist.github.com/Ray1988/8479951

但是我有几个问题。希望您能在这里阐明一些观点。

问题#1 在第22行中,我不完全理解第二个OR条件语句:

if (board[row][col]!=word.charAt(i)|| checker[row][col])

如果 x 和 y 位置的检查器为真,您如何阅读第二个陈述?检查器是否存在?这有什么意义?

问题#2

第 28 行似乎是递归的基本情况,满足它的情况将停止迭代。这是正确的吗?

谢谢!

最佳答案

问题 1 的回答: 看看作者的描述:它包括“同一字母单元不得使用多次” 作者使用检查器来跟踪使用过的单元格。因此,如果 checker[row][col] 为 true,则意味着它已被使用。

问题 2 的回答: 你说对了一部分。实际上第 22 行和第 28 行都是基本情况,因为它们不会自调用函数,而是检查某些条件并在满足时停止

关于java - 递归条件和基本情况确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860244/

相关文章:

haskell - 使用foldr 编写foldl

java - java中的数字重复到下一行

java - 如何在 JTree 中显示多列

java - JLabel 字符串自动换行,不带空格

java - String 是 Java 中的字符序列吗?

java - 无限递归帮助 - Java

c - 寻找一组字符

java - 从特定索引范围内的 java.util.List 获取项目

JavaScript 函数 'return' 值?

php - 执行我的 PHP 脚本时 Apache 崩溃了