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".
关于这题,只要找到那个规律就行了,2nRows-2个字符一个循环,所以之后根据规律编写就行了。主要还是先理解这个题目意思。
public class Solution {
public String convert(String s, int nRows) {
String end = "";
String[] temp = new String[nRows];
for(int i = 0 ;i<nRows;i++){
temp[i] = "";
}
int lineNum = 2*nRows-2;
if(s.length()>nRows&&nRows != 1){
for(int i = 0;i<s.length();i++){
if((i+1)%lineNum - nRows > 0 ||(i+1)%lineNum == 0){
int k = (i+1)%lineNum==0?lineNum - nRows: (i+1)%lineNum - nRows;
temp[nRows-1-k] += s.charAt(i);
}else{
temp[(i+1)%lineNum-1] += s.charAt(i);
}
}
for(String j : temp){
end += j;
}
}else{
end = s;
}
return end;
}
}
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".
关于这题,只要找到那个规律就行了,2nRows-2个字符一个循环,所以之后根据规律编写就行了。主要还是先理解这个题目意思。
public class Solution {
public String convert(String s, int nRows) {
String end = "";
String[] temp = new String[nRows];
for(int i = 0 ;i<nRows;i++){
temp[i] = "";
}
int lineNum = 2*nRows-2;
if(s.length()>nRows&&nRows != 1){
for(int i = 0;i<s.length();i++){
if((i+1)%lineNum - nRows > 0 ||(i+1)%lineNum == 0){
int k = (i+1)%lineNum==0?lineNum - nRows: (i+1)%lineNum - nRows;
temp[nRows-1-k] += s.charAt(i);
}else{
temp[(i+1)%lineNum-1] += s.charAt(i);
}
}
for(String j : temp){
end += j;
}
}else{
end = s;
}
return end;
}
}
发表评论
-
Merge k Sorted Lists
2015-03-12 19:55 326Merge k sorted linked lists and ... -
Generate Parentheses
2015-03-12 19:50 365Given n pairs of parentheses, w ... -
Generate Parentheses
2015-03-05 22:39 0Given n pairs of parentheses, w ... -
Valid Parentheses
2015-03-05 22:33 308Given a string containing just ... -
Remove Nth Node From End of List
2015-03-05 22:31 340Given a linked list, remove the ... -
Letter Combinations of a Phone Number
2015-03-05 22:30 331Letter Combinations of a Phone ... -
4Sum
2015-03-05 22:26 312Given an array S of n integers, ... -
3Sum Closest
2015-03-05 22:25 292Given an array S of n integers, ... -
3Sum
2015-03-03 22:34 318Given an array S of n integers, ... -
Longest Common Prefix
2015-03-03 22:21 328Write a function to find the lo ... -
Roman to Integer
2015-03-03 22:20 327Given a roman numeral, convert ... -
Integer to Roman
2015-03-01 23:35 289Given an integer, convert it to ... -
Container With Most Water
2015-03-01 22:55 322Given n non-negative integers a ... -
Regular Expression Matching
2015-03-01 20:19 367Implement regular expression ma ... -
Palindrome Number
2015-02-13 22:08 331Determine whether an integer is ... -
String to Integer (atoi)
2015-02-13 11:07 343Implement atoi to convert a str ... -
Reverse Integer
2015-02-12 23:39 227Reverse digits of an integer. ... -
Longest Palindromic Substring
2015-02-12 22:50 334Given a string S, find the long ... -
Add Two Numbers
2015-02-12 22:12 300You are given two linked lists ... -
Longest Substring Without Repeating Characters
2015-02-11 21:14 425[size=24px;]Longest Substring W ...
相关推荐
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) Java AC版本
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 ...
Conversion,则可以生成一个空的测试文件以及一个模板代码文件ZigZag_Conversion.cpp,cpp的内容如下: #include "comm_header.h" int main() { int test_cases = input(); for (int i = 1; i <= test_cases; +...
ZigZag Conversion Divide Two Integers Text Justification Max Points on a Line Community QQ 群: 237669375 Github: https://www.github.com/soulmachine/algorithm-essentials 微博: @灵魂机器 License ...
Conversion 007 Reverse Integer 008 String to Integer (atoi) 009 Palindrome Number 010 Regular Expression Matching 011 Container With Most Water 012 Integer to Roman 013 Roman to Integer 014 Longest ...
Conversion 中等 矩阵 重要 Reverse Integer 简单 字串 String to Integer (atoi) 中等 字串 麻烦 Palindrome Number 简单 字串 Container With Most Water 中等 动态规划 重要 Integer to Roman 中等 重要 Roman to...
leetcode题库 LeetCode-Go 理论基础 见Note 脑图 TODO ...Conversion 37.5% Medium 0007 Reverse Integer 25.8% Easy 0008 String to Integer (atoi) 15.5% Medium 0009 Palindrome Number 49.4% Easy
Conversion 007. Reverse Integer 008. String to Integer 009. Palindrome Number 010. Regular Expression Matching 011. Container With Most Water 012. Integer to Roman 013. Roman to Integer 014. Longest ...
...The number of questions is increasing recently. Here is the classification of all `468` questions. ...I'll keep updating for full summary and better solutions....|-----|---------------- | --------------- |...
Conversion 中等 7 Reverse Integer 简单 8 String to Integer (atoi) 中等 9 Palindrome Number 简单 11 Container With Most Water 中等 12 Integer to Roman 中等 13 Roman to Integer 简单 14 Longest Common ...
Conversion 7.Reverse Integer 8.String to Integer (atoi) 9.Palindrome Number 10.Regular Expression Matching 11.Container With Most Water 12.Integer to Roman 13.Roman to Integer 14.Longest Common Prefix...
leetcode 2sum # Programming-Problems This will have many problems ...Conversion [Medium] LC7: Reverse Integer [Easy] LC8: String To Integer Atoi [Medium] LC9: Palindrome Number [Easy] LC11:
Conversion 45.6% 中等 7 Reverse Integer 33.2% 简单 8 String to Integer (atoi) 18.5% 中等 9 Palindrome Number 56.7% 简单 10 Regular Expression Matching 25.3% 困难 11 Container With Most Water 59.3% ...
Conversion 7.Reverse Integer 8.String To Integer 9.Palindrome Number 10.String To Integer 11.Container With Most Water 12.Integer To Roman 13.Roman To Integer 289 347 380 442 457 Circular Array Loop ...
leetcode ...Conversion Medium com.bcat.algorithms.medium.ZigZagConversionSol 7 Reverse Integer Easy com.bcat.algorithms.easy.ReverseIntegerSol 8 String to Integer (atoi) Medium com.bc
Conversion Z字型变换 7. Reverse Integer 整数反转 8. String to Integer (atoi) 字符串转换整数 (atoi) 9. Palindrome Number 回文数 10. Regular Expression Matching 正则表达式匹配 11. Container With Most ...
leetcode实现strstr leetcode-js 记录刷leetcode分析过程,...Conversion 逻辑 2019/09/13 0007 Reverse Integer 逻辑 2019/09/13 0008 String To Integer 2019/09/14 0009 Palindrome Number 双指针 2019/09/17 0010
Conversion Easy -> Medium 8 String to Integer (atoi) Easy -> Medium 19 Remove Nth Node From End of List Easy -> Medium 33 Search in Rotated Sorted Array Hard -> Medium 35 Search Insert Position Medium...
ZigZag Conversion SingleNumber 其他算法 各种SingleNumber变种 LinkListCycle I II 其他变种 编程之美 Preorder Traversal Inorder Traver sal postorder 非递归 不用栈! 字符串常用操作 字符串 各种转换 Pow(x,n...
Conversion: Find the Regulation. 11. Container With Most Water 问题简述:给出一个list a,找到一组i,j使得**min(a[i],a[j])*(j-i)**最大 思路:设置首位指针h,t 从较小的一段往中间移动,同时更新答案 12. ...