題目code
算模擬題吧leetcode
class Solution { public: char a[1000][1000]; int tag[1000][1000]; string convert(string s, int numRows) { if(numRows==0||numRows==1) return s; string ans=""; int j=0; int k=0; for(int i=0;i<s.length();i++) { if(j<numRows) { a[k][j]=s[i]; tag[k][j]=1; j++; continue; } if(j >= numRows &&j<=numRows+numRows-3) { tag[++k][numRows+numRows-j-2]=1; a[k][numRows+numRows-j-2]=s[i]; j++; if(j==numRows+numRows-2) { k++; j=0; } continue; } else { j=0; k++; if(j<numRows) { a[k][j]=s[i]; tag[k][j]=1; j++; continue; } } } for(int p=0;p<=s.length();p++) { for(int q=0;q<=s.length();q++) { if(tag[q][p]==1) ans+=a[q][p]; } } return ans; } };