这题列一下通项式,找找规律
class Solution {public: string convert(string s, int n) { string re; if(n==1) return s; for(int t=0;t<n;t++) if(t==0||t==n-1)//开头和结尾行 { int cnt=0; while(t+cnt*(2*n-2)<s.size()) re.push_back(s[t+(2*n-2)*(cnt++)]); } else { int cnt=2; re.push_back(s[t]); while(1) { if(cnt*(n-1)-t<s.size()) re.push_back(s[cnt*(n-1)-t]); else break; if(cnt*(n-1)+t<s.size()) re.push_back(s[cnt*(n-1)+t]); else break; cnt+=2; } } return re; }};新闻热点
疑难解答