TypeScript练习题:30天LeetCode挑战(day1 to day7)
LeetCode 挑战题目汇总地址: 30 Days of JavaScript Challenge DAY1: Create Hello World Function 解题代码: function createHelloWorld() { return function(...args): string { return "Hello World" }; }; 官方解題說明 https://leetcode.com/problems/create-hello-world-function/editorial/ DAY2: Counter 题目说明: 第一次调用 createCounter 传值 n, 后面每次调用返回都比前一次返回的值加1。 解题思路: 可以用变量和运算符的相对位置来记递增运算符返回的值是计算前还是计算后的值:n++ 的 n 放在 ++ 的前面,所以是运算前的值;++n 是放在 ++ 的后面,所以是运算后的值。 function createCounter(n: number): () => number { return function() { return n++ } } 官方解題說明 https://leetcode.com/problems/counter/editorial/ DAY3: Counter II 题目说明: 实现函数 createCounter,可以传一个初始值参数,返回包含三个函数的对象,三个函数分别是 increment()、decrement()、reset()。 解题思路: increment()、decrement() 都是返回计算过后的值,变量要放在运算符的后面。reset() 重置初始值,需要额外用变量储存当前计算值,保留初始值 init。...