541.反转字符串

总结

这题代码简洁写法就在于,每次都位移2 * k直到 +2* k超过了这个长度,把最后一截的k+a情况和平常的2k情况看为一种情况都是反转k个,另一种情况就是不足k个,也就是加上k个就超过长度了。
简单说就是+k分为超过长度,代表一种情况。+k不超过长度,代表一种情况。然后直接+2
k。

 for pos<len(str){
        if pos+k<=len(str){
            swap(str[pos:pos+k])
        }else{
            swap(str[pos:len(str)])
        }
        pos+=2*k
    }

你可能感兴趣的:(算法,其他)