【LeetCode刷题记录】6. Z 字形变换

题目描述:
在这里插入图片描述在这里插入图片描述
题解:
思路比较简单,直接看代码。

string convert(string s, int numRows) {
 if (numRows == 1)return s;
 vector<string> rows(min(numRows, int(s.length())));
 int numRow = 0;
 bool goingDown = false;
 for (char c : s) {
  rows[numRow] += c;
  if (numRow == 0 || numRow == numRows - 1)goingDown = !goingDown;
  numRow += goingDown ? 1 : -1;
 }
 string rst;
 for (string row : rows)rst += row;
 return rst;
}

string convertStrOnly(string s, int numRows) {
 if (numRows == 1)return s;
 int rows_n = min(numRows, int(s.length()));
 string* rows = new string[rows_n];
 int numRow = 0;
 bool goingDown = false;
 for (int i = 0; i < s.size(); i++) {
  rows[numRow] += s[i];
  if (numRow == 0 || numRow == numRows - 1)goingDown = !goingDown;
  numRow += goingDown ? 1 : -1;
 }
 string rst;
 for (int i = 0; i < rows_n; i++)rst += rows[i];
 return rst;
}
原创文章 23 获赞 0 访问量 988

猜你喜欢

转载自blog.csdn.net/weixin_42192493/article/details/104769100
今日推荐