557.反转字符串中的单词-iii

时游小于 1 分钟LeetCode

557.反转字符串中的单词-iii

/*
 * @lc app=leetcode.cn id=557 lang=typescript
 *
 * [557] 反转字符串中的单词 III
 */

// @lc code=start
// function reverseWords(s: string): string {
// 	let arr = s.split("");
// 	let l = 0,
// 		r = 0;
// 	for (let i = 0; i < arr.length; i++) {
// 		if (arr[i] == " ") {
// 			// 翻转
// 			let reverseStr = reverse(s.slice(l, r));
// 			arr.splice(l, r - l, ...reverseStr.split(""));
// 			l = i + 1;
// 		}
// 		r++;
// 	}
// 	let reverseStr = reverse(s.slice(l, r + 1));
// 	arr.splice(l, r - l, ...reverseStr.split(""));

// 	console.log(arr.join(""));

// 	return arr.join("");
// }

// // 翻转
// function reverse(s: string): string {
// 	let arr = s.split("");
// 	let l = 0,
// 		r = arr.length - 1;
// 	while (l <= r) {
// 		[arr[l], arr[r]] = [arr[r], arr[l]];
// 		l++;
// 		r--;
// 	}
// 	return arr.join("");
// }

function reverseWords(s: string): string {
	// 切片
	let arr = s.split(" ");
	let final: string[] = [];
	arr.map(el => {
		let elArr = el.split("");
		let l = 0,
			r = elArr.length - 1;
		while (l <= r) {
			[elArr[l], elArr[r]] = [elArr[r], elArr[l]];
			l++;
			r--;
		}
		final.push(elArr.join(""));
	});
	return final.join(" ");
}
console.log(reverseWords("Let's take LeetCode contest"));

// @lc code=end

上次编辑于:
贡献者: 15327360835
Loading...