LeetCode | #6 ZigZag Conversion
来源:互联网 发布:架子鼓谱软件 编辑:程序博客网 时间:2024/04/29 16:38
题目:
The string "PAYPALISHIRING"
is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H NA P L S I I GY I R
And then read line by line: "PAHNAPLSIIGYIR"
Write the code that will take a string and make this conversion given a number of rows:
string convert(string text, int nRows);
convert("PAYPALISHIRING", 3)
should return "PAHNAPLSIIGYIR"
.思路:
之字形变换,找数学方法。头尾两行,每个字符之间隔了2*nRows-2个,中间的行,每个字符都往下或往上加一个三角的长度。
规则:
//第0至第nRows-1行,下一跳 + 2*nRows-2;
//第1至nRows-2行(第i行),在偶数个角,下一跳 + (nRows-1-i)*2; 在奇数个角,下一跳+ i*2
public String convert(String s, int nRows) {//规则://第0至第nRows-1行,下一跳 + 2*nRows-2;//第1至nRows-2行(第i行),在偶数个角,下一跳 + (nRows-1-i)*2; 在奇数个角,下一跳+ i*2int len = s.length();StringBuffer sb = new StringBuffer();if(nRows == 1 || nRows == len){return s;}for(int i=0; i<nRows; i++){ int j=i, k=0;while(j < len){sb=sb.append(s.charAt(j));if(i == 0 || i == nRows-1){ j+=(2*nRows-2);} else{if(k%2 == 0){//偶数个角j+=2*(nRows-1-i);} else{j+=2*i;}k++;}}}return sb.toString();}
0 0
- LeetCode 6 - ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- LeetCode(6)ZigZag Conversion
- Leetcode【6】:ZigZag Conversion
- [leetcode 6] ZigZag Conversion
- LeetCode 6 ZigZag Conversion
- LeetCode(6) ZigZag Conversion
- [Leetcode] 6 - ZigZag Conversion
- LeetCode 6:《ZigZag Conversion》
- [leetcode 6] ZigZag Conversion
- LeetCode | #6 ZigZag Conversion
- [leetcode] 6 ZigZag Conversion
- leetCode #6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- leetcode-6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- LeetCode 6 - ZigZag Conversion
- leetcode 6ZigZag Conversion
- C语言中的malloc/free与C++中的new/delete的区别
- 利用java ,apache和android的方法来获取网络数据
- HPUOJ1293 考试排名
- contentResolver与ContentProvider理解
- 数据结构终结版总结----第一章 绪论
- LeetCode | #6 ZigZag Conversion
- 过滤器检验用户是否登录
- 484D - Kindergarten DP
- Java进程
- Eclipse中hibernate连接mySQL数据库练习
- [Telerik]RadDocking第02篇 保存和加载RadDocking的布局
- 基于openssl的计算机安全学demo(包含Diffie-Hellman,HAMC,AES的简单应用)
- 【将金令】1.15晚评:金银势如破竹,如何释放?
- 愉快的开始,Java初探