Leetcode 6. ZigZag Conversion
来源:互联网 发布:淘宝达人的账号简介 编辑:程序博客网 时间:2024/06/11 03:07
题意:
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 N
A P L S I I G
Y 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”.
题目大致意思就是说输入一个字符串s和一个整数row,然后将s排成一个row行的“Z”字形, 最后返回这个“Z”字形字符串。
解法:归纳起来就是找规律,见以下ac代码。
class Solution { public String convert(String s, int num) { StringBuilder ans = new StringBuilder(); if (num <= 1 || s.length() <= num) return s; for (int i = 0; i < num; i ++) { for (int j = i; j < s.length(); j += 2 * num - 2){ ans = ans.append(s.charAt(j)); if (i % num != 0 && i % num != (num - 1)){ int tmp = 2 * (num - i - 2) + 2 + j; if (tmp < s.length()) ans = ans.append(s.charAt(tmp)); } } } return ans.toString(); }}
坑点:
1、StringBuilder要比StringBuffer快。
2、如果题目给定的row大于或等于数组长度的话直接返回s就可以了。
3、写代码的时候头脑一定要清醒(。。)。
阅读全文
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 6. ZigZag Conversion
- Redis 客户端开发包-学习-入门
- 学会图文混排页面2(实例)
- Hibernate一对多关联映射
- Android IntentService源码分析
- js中的|| 与 &&
- Leetcode 6. ZigZag Conversion
- AdPredictor引发的一系列故事
- DSL的诞生 | 复杂sql转成Elasticsearch DSL深入详解
- 指针和数组
- 陈越《数据结构》第七讲 图(中)二
- Eclipse Java注释模板设置详解
- 2017青岛区域赛I题The Squared Mosquito Coil
- Windows 下jupyter notebook 修改打开的浏览器
- 关于SpringMVC中 HTTP 405