Java回文修订
嘿,我正在为即将到来的java考试复习,我被一个特别的问题困在了一个套路中,我们被告知答案,但我看不出它们是如何实现的,因此知道答案毫无用处
如果能帮上忙,我将不胜感激,因为我在这个问题上遇到了很多麻烦
如果我从等式中跳过3,那么我可以用这个方法得到问题1的答案,通过将数字作为1,2,3来运行它,但是这也没有多大意义
你可以在下面搜索框中键入要查询的问题!
嘿,我正在为即将到来的java考试复习,我被一个特别的问题困在了一个套路中,我们被告知答案,但我看不出它们是如何实现的,因此知道答案毫无用处
如果能帮上忙,我将不胜感激,因为我在这个问题上遇到了很多麻烦
如果我从等式中跳过3,那么我可以用这个方法得到问题1的答案,通过将数字作为1,2,3来运行它,但是这也没有多大意义
# 1 楼答案
让我们来看一个例子:
N=3
所以回文的第一个调用是使用i=3
此调用的返回值为palindrome(3 - 2) + palindrome (3 - 1) + palindrome (3 - 2)
这是
palindrome(1) + palindrome(2) + palindrome(1)
这等于T + palindrome(2) + T
现在我们来看一下palindrome(2)
的调用。这是palindrome(2 - 2) + palindrome(2 - 1) + palindrome(2 - 2)
等于palindrome(0) + palindrome(1) + palindrome(0)
。这就是S + T + S
总之,返回值是
TSTST
# 2 楼答案
在递归的情况下,您只需小心使用堆栈。在检查此类问题时创建堆栈。结果很简单
考虑第一种情况N=3
堆栈顶部-回文(3)