代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

40 阅读1分钟

LeetCode 344.反转字符串

📖 考察点

📖 题意理解

💡 解题思路

思路一:

思路二:

🔑 关键点总结

💻 代码实现

JavaScript

/**
 * @param {character[]} s
 * @return {void} Do not return anything, modify s in-place instead.
 */
var reverseString = function (s) {
	let left = 0;
	let right = s.length - 1;
	while (left < right) {
		let temp = s[left];
		s[left] = s[right];
		s[right] = temp;
		left++;
		right--;
	}
	return s;
};


⏱️ 复杂度分析

📚 总结与反思


LeetCode 541. 反转字符串II

📖 考察点

📖 题意理解

💡 解题思路

思路一:

思路二:

🔑 关键点总结

💻 代码实现

JavaScript

var verseStr = function (s, k) {
	const len = s.length;
	let resArr = s.split("");
	for (let i = 0; i < len; i += 2 * k) {
		let l = i - 1,
			r = i + k > len ? len : i + k;
		while (++l < --r) [resArr[l], resArr[r]] = [resArr[l], resArr[r]];
	}
	return resArr.join("");
};

⏱️ 复杂度分析

📚 总结与反思


LeetCode ### 卡码网:54.替换数字

📖 考察点

📖 题意理解

💡 解题思路

思路一:

思路二:

🔑 关键点总结

💻 代码实现

JavaScript

function main() {
    const num0 = "0".charCodeAt();
    const num9 = "9".charCodeAt();
    const a = "a".charCodeAt();
    const z = "z".charCodeAt();
    function isAZ(str) {
        return str >= a && str <= z;
    }
    function isNumber(str) {
        return str >= num0 && str <= num9;
    }
    rl.on("line", (input) => {
        let n = 0;
        for (let i = 0; i < input.length; i++) {
            const val = input[i].charCodeAt();
            if (isNumber(val)) {
                n+= 6;
            }
            if (isAZ(val)) {
                n++;
            }
        }
        const ans = new Array(n).fill(0);
        let index = input.length - 1;
        for (let i = n - 1; i >= 0; i--) {
            const val = input[index].charCodeAt();
            if (isAZ(val)) {
                ans[i] = input[index];
            }
            if (isNumber(val)) {
                ans[i] = "r";
                ans[i - 1] = "e";
                ans[i - 2] = "b";
                ans[i - 3] = "m";
                ans[i - 4] = "u";
                ans[i - 5] = "n";
                i -= 5;
            }
            index--;
        }
        console.log(ans.join(""));
    })
}

main();

⏱️ 复杂度分析

📚 总结与反思

比较简单