给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)

该代码提供了一个C++解决方案,用于根据给定的偏移量旋转字符串。首先检查字符串是否为空或位移量是否为零,然后通过循环调整偏移量使其在字符串长度范围内。接着,使用栈存储部分字符,并将剩余字符组成新的子串。最后,将栈中字符还原到原字符串起始位置,完成旋转操作。
摘要由CSDN通过智能技术生成
class Solution {
public:
    /*
     * @param str: An array of char
     * @param offset: An integer
     * @return: nothing
     */
    void rotateString(string &str, int offset) {
        // write your code here
        if(str.size()==0){//字符串为空
            return ;
        }
        if(offset==0){//位移量为零
            return ;
        }
        while(1){//位移量大于字符串长度
        if(offset>=str.size()){
            offset=offset-str.size();
        }else if(offset<str.size()){
            break;
        }
        }
        stack <char> ss; 
        for(int i=str.size()-1;i>=str.size()-offset;i--){
            ss.push(str[i]);
        }
        string li;
        for(int i=i=0;i<str.size()-offset;i++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值