每天属于自己的时间,就是慢慢的刷题的时候,啥也不用想,沉浸在写出最佳程序的过程中,沉浸在自己阅读大牛代码,提升自我的过程中,那种满足感,真的很让人享受<.>
题目:Z字形变换
1 | 将字符串 "PAYPALISHIRING"以Z字形排列成给定的行数: |
1 | 示例1: |
解题思路:
方法:
思路很简单,就是从左到右按照行数依次存入,就是按照题意的规律存。通过观察,可以发现,先存第一行,然后第二行只是第一行的每个数的左右两个字符依次存取,第三行是第一行每个数的左右间隔一个数的依次存取…..
而第一行的规矩就是2(numRows-2)+2为两个字符之间的距离。第一行第一个字符,可以看做是第零行第一个字符的右下第一个字符,所以要先s[j+1],然后再存第零行第二个字符左下的字符所以是s[j+row0-i]i为行数从0开始计数。
1 | class Solution { |