算法题:344. 反转字符串

思路

这题简单,使用双指针替换即可

for写法

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

};

while写法

/**
 Do not return anything, modify s in-place instead.
 */
function reverseString(s: string[]): void {
    let left = 0;
    let right = s.length - 1;
    let temp:string;

    while(left < right){
        temp = s[left];
        s[left] = s[right];
        s[right] = temp;
        left++;
        right--;
    }
};

使用Array.prototype.reverse

/**
 Do not return anything, modify s in-place instead.
 */
function reverseString(s: string[]): void {
   s.reverse();
};


从执行效率看,reverse没太多可挑剔的

总效率

评论

0 / 800
全部评论()