leetcode:6. Z 字形变换(字符串,中等)

it2025-01-02  10

题目:

分析:

一道很显然的找规律的题目。

向下再向上为一次。 n+n-2

找规律取余可以,直接模拟也是可以的。

代码:

class Solution { public: string convert(string s, int n) { vector<char> v; vector<vector<char> > vv(n,v); int c=0; while(1) { for(int i=0;i<n&&c<s.length();i++) { vv[i].push_back(s[c]); c++; } if(c==s.length()) break; for(int i=n-2;i>0&&c<s.length();i--) { vv[i].push_back(s[c]); c++; } if(c==s.length()) break; } string ans=""; for(int i=0;i<n;i++) { for(int j=0;j<vv[i].size();j++) { ans+=vv[i][j]; } } return ans; } };
最新回复(0)