在网上看到一个将字符串逆序排列的函数, 使用递归的方法,但我怎么也想不明白——这个递归是怎么停止的?我测试了一下,这个函数是能够得出正确结果的。
怎么想,也找不出它的终止条件,那岂不是它会无限执行下去,但测试结果表明,它并没有无限地执行下去,这到底是为什么呢?
function reverse(string) {
if(string.length == 0) {
return string;
} else {
return reverse(string.substring(1, string.length)) + string.substring(0, 1);
}
}
|