leetcode 6.ZigZag Convertion
class Solution {
public:
string convert(string s, int numRows) {
if(numRows > s.size() || s.size() < numRows) return s;
int numCols = s.size()/(2*numRows-2)*(numRows-2+1)+(s.size()%numRows?1:0);
char **a = new char* [numRows];
for(int i = 0; i < numRows; ++i) a[i] = new char[numCols]();
int i = 0, j = 0, k = 0;
int flag = 1;
for(; j < numCols, k < s.size(); ++j) {
if(!flag) j = j - 1;
for(; k < s.size(), i < numRows; ++i, ++k) {
a[i][j] = s[k];
flag = 0;
}
i = i - 2;
j = j + 1;
for(; j % (numRows-1) && k < s.size(); ++j, ++k, --i) {
a[i][j] = s[k];
}
}
string res = "";
for(i = 0; i < numRows; ++i) {
for(j = 0; j < numCols; ++j) {
if(a[i][j] != 0) {
res += a[i][j];
}
}
}
res += '\0';
cout << res << endl;
delete [] a[i];
delete [] a;
return res;
}
};
我在本地测试的问啥问题,提交出现以下问题:
大佬们有没有遇到过这种错误???