题目描述
一、使用substr()函数
class Solution {
public:
string reverseLeftWords(string s, int n) {
return s.substr(n,s.length())+s.substr(0,n);
}
};
时间复杂度
O
(
n
)
O(n)
O(n)
空间复杂度
O
(
n
)
O(n)
O(n)
二、逆置方法
先逆置0 ~ n-1
的元素,再逆置n ~ s.size()-1
的元素,最后整体逆置即可得到结果。
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;
}
};
时间复杂度
O
(
n
)
O(n)
O(n)
空间复杂度
O
(
1
)
O(1)
O(1)