Leetcode—1427. 字符串的左右移【简单】Plus
2025每日刷题(206)
Leetcode—1427. 字符串的左右移
实现代码
class Solution {
public:
string stringShift(string s, vector<vector<int>>& shift) {
// shift[i] = [dir, amount]
// dir = 0(左) or 1(右)
// 左表示正, 右表示负
int len = s.length();
int res = 0;
for(auto& data: shift) {
if(data[0] == 0) {
res += data[1];
} else {
res -= data[1];
}
}
res = res % len;
// abc +1-2=-1
if(res < 0) {
return s.substr(len + res) + s.substr(0, len + res);
} else if(res > 0) {
// abcd [0, 2], [1, 1]
// +2-1=1 左移一位
return s.substr(res) + s.substr(0, res);
} else {
return s;
}
}
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!