摘要: youtube 上有个两小时的全面教学讲解,讲的非常好。配有很多例子讲解,递归调用栈图示,能非常直观地了解递归调用的执行顺序和逻辑,新手也能很好理解递归的编程思想。 https://www.youtube.com/watch?v=IJDJ0kBx2LM&t=29s 阅读全文
posted @ 2022-09-12 22:27 toddforsure 阅读(9) 评论(0) 推荐(0)
摘要: function fib(n: number): number { if (n == 0 || n 1) { return n } return fib(n - 1) + fib(n - 2) } console.log(fib(5)) // 5 console.log(fib(11)) // 89 阅读全文
posted @ 2022-09-12 22:20 toddforsure 阅读(5) 评论(0) 推荐(0)
摘要: 递归 function binarySearch(arr: number[], target: number, left: number = 0, right: number = arr.length - 1): number { if (left > right) { return -1 } co 阅读全文
posted @ 2022-09-12 22:10 toddforsure 阅读(9) 评论(0) 推荐(0)
摘要: 递归 function decimalToBinary(decimal: number, result: string = ""): string { if (decimal 0) { return result } result = decimal % 2 + result return deci 阅读全文
posted @ 2022-09-12 21:32 toddforsure 阅读(5) 评论(0) 推荐(0)
摘要: 递归 function isPalindrome(s: string): boolean { if (s.length 0 || s.length 1) { return true } if (s.charAt(0) s.charAt(s.length - 1)) { return isPalind 阅读全文
posted @ 2022-09-12 16:56 toddforsure 阅读(5) 评论(0) 推荐(0)
摘要: 递归做法 pros: 不占用额外空间 cons: 输入太长会爆栈 function reverseString(s: string): string { if (s "") { return "" } return reverseString(s.substring(1)) + s.charAt(0 阅读全文
posted @ 2022-09-12 16:45 toddforsure 阅读(7) 评论(0) 推荐(0)