ZigZag Conversion ---leetcode

来源:互联网 发布:json setid用法 编辑:程序博客网 时间:2024/05/19 10:16
/*ZigZag Conversion.cpp*/#include<iostream>#include<string>using namespace std;string convert(string s,int nrows){string last_result;if(nrows==1)//开始没有考虑nrows==1的情况,所以一直没有AC,报内存错误{last_result=s;return last_result;}//cout<<last_result.size()<<endl;int size_string;size_string=s.size();//字符串的长度.// cout<<size_string<<endl;//第一行for(int i=0;i<size_string;i+=((nrows-1)*2)){last_result.append(1,s[i]);}//第2行到第nrows-1行int i=1;while(i<nrows-1){int j=i;while(j<size_string){last_result.append(1,s[j]);j=j+2*(nrows-1-i);if(j>=size_string)break;else{last_result.append(1,s[j]);j=j+2*i;}  }i++;}//最后一行for(int i=nrows-1;i<size_string;i+=((nrows-1)*2)){last_result.append(1,s[i]);}//cout<<last_result.size()<<endl;return last_result;}int main(){string str="PAYPALISHIRING";cout<<str<<endl;cout<<convert(str,3)<<endl;system("pause");return 1;}

0 0