C++写法:
一次全局反转加上两次局部反转就可以完成前后调换的操作。
class Solution {
public:
string reverseLeftWords(string s, int n) {
reverse(s.begin(),s.begin()+n);
reverse(s.begin()+n,s.end());
reverse(s.begin(),s.end());
return s;
}
};
python版本直接进行切片返回就好了,不用修改字符串,而且python字符串不能修改
class Solution:
def reverseLeftWords(self, s: str, n: int) -> str:
return s[n:] + s[0:n]
python版本,可以将字符串转化为列表操作,再转化回来
class Solution:
def reverseLeftWords(self, s: str, n: int) -> str:
s=list(s)
s[0:n]=list(reversed(s[0:n]))
s[n:]=list(reversed(s[n:]))
s.reverse()
return "".join(s)