【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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章