[LeetCode] 6. Z 字形变换(java实现)
1. 题目
2. 读题(需要重点注意的东西)
思路:
找规律,找出各行的数下标的规律即可,设有如下情况
3. 解法
---------------------------------------------------解法---------------------------------------------------:
class Solution {
public String convert(String s, int n) {
String res = "";
// 注意要特判一下
if(n == 1) return s;
for(int i = 0;i < n;i++){
if(i ==0 || i == n - 1){
for(int j = i; j < s.length(); j += 2 * n - 2)
res += s.charAt(j);
}else{
for(int j = i,k = 2*n-2-i;j < s.length() || k < s.length(); j += 2*n - 2,k += 2*n-2){
if(j < s.length()) res += s.charAt(j);
if(k < s.length()) res += s.charAt(k);
}
}
}
return res;
}
}