6. ZigZag Conversion

来源:互联网 发布:vb if then 编辑:程序博客网 时间:2024/06/08 10:37
/*算法思想:就是将字符串按zigzag分成numRows个部分,然后将每个部分依次连接在一起。具体做法:设置两个界限,一个指示器,指示器在界限内来回走动,指示字符应该加入的数组;每次到达界限就改变方向;*/class Solution {public:    string convert(string s, int numRows) {        if (s.empty())return "";if (numRows == 1)return s;int count = 0;//记录每次加入的数组;int flag = 0;//记录数组移动方向;string result;string *Result = new string[numRows];//动态申请numRows个string类型数组存放暂时的结果;for (int i = 0; i < s.size() ; i++){Result[count].push_back(s[i]);if (count == 0)//判断排列的方向flag = 1;else if (count == numRows - 1)flag = -1;count = count + flag;}for (int j = 0; j < numRows; j++)result.append(Result[j]);delete[]Result;return result;    }};

0 0
原创粉丝点击