SOURCE

// 反转字符串
function reverse(nums) {
    const len = nums.length
    let i = 0, j = len-1
    while(i < j) {
        let tem = nums[i]
        nums[i++] = nums[j]
        nums[j--] = tem
    }
    return nums
}
// console.log(revert(['x','c','y', 'h']))

// 反转字符串2
function reverse(s, start, end) {
    for (let i = start, j = end; i < j; i++, j--) {
        [s[i], s[j]] = [s[j], s[i]]
    }
    return s
}
// 反转 部分字符串
function reverseStr(s, k) {
    const len = s.length
    for(let i = 0; i < len; i += (2*k)) {
        if(i+ k <= len) {
            reverse(s, i, i+k -1)
        } else {    
            reverse(s, i, len -1)
        }
    }
    return s
}
// console.log(reverseStr(['z', 'x', 'c', 'v', 'e', 'r'], 2))

// 替换空格
function replace(s) {
    const arr = s.split(''), len = s.length
    for(let i = 0; i< len; i++) {
        if(arr[i] === ' ') { arr[i] = '%20'}
    }
    return arr.join('')
}
// console.log(Array.from('zz zz '))

// 反转单词
function reverseWord(s) {
    const strArr = Array.from(s.trim()), res = []
    let i = 0, j = 0, count = 0, len = strArr.length

    while(i <= j) {
        if(strArr[j] !== ' ') { 
            j++
            count++
        }
        if(strArr[j] === ' ') {
            res[len - count] = strArr[i++]
            count--
            len--
        }
        if(count === 0) j++
    }
    return res.join('')
}

function reverseWord(s) {
    const strArr = Array.from(s.trim()), len = strArr.length, stack = [], stk = []
    for(let i=0; i< len; i++) {
        stack.push(strArr[i])
    }
    for(let i=0; i< len; i++) {
        const top = stack.pop()
        if(top !== ' ') stk.push(top)
    }
}
// console.log(reverseWord('the sky is blue'))
console 命令行工具 X clear

                    
>
console