leetcode题解-6.Z字型变换

Z字型变换:link

1.题目分析

1.思路比较简单,按题意将字符串分成几排,然后连接起来。
2.主要的是怎样让代码清晰生成这样几个字符。

2.示例代码
class Solution {
public:
    string convert(string s, int numRows) {
        vector<string> row_strings(numRows, "");
        if(s.size() < numRows || numRows == 1)
            return s;
        
        int i = 0;
        while(i < s.size()){
            for(int j  = 0; j < numRows && i < s.size(); ++j, ++i)
                row_strings[j] += s.substr(i, 1);
            for(int j = numRows - 2; j > 0 && i < s.size(); --j, ++i)
                row_strings[j] += s.substr(i, 1);
        }
        
        string ret;
        for(auto str : row_strings){
            ret += str;
        }
        return ret;
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值