6. ZigZag Conversion

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)python

P   A   H   N
A P L S I I G
Y   I   R

And then read line by line: "PAHNAPLSIIGYIR"c++

Write the code that will take a string and make this conversion given a number of rows:web

string convert(string s, int numRows);

Example 1:數組

Input: s = "PAYPALISHIRING", numRows = 3
Output: "PAHNAPLSIIGYIR"

Example 2:ide

Input: s = "PAYPALISHIRING", numRows = 4
Output: "PINALSIGYAHRPI"
Explanation:

P     I    N
A   L S  I G
Y A   H R
P     I

這裏有兩種方法,第一種是用字符串列表,通常不用字符串數組。第二種是用數學公式法,找到他們對應的索引規律。字體

這裏我只用第一種this

python:spa

class Solution:
    def convert(self, s, numRows):
        """
        :type s: str
        :type numRows: int
        :rtype: str
        """
        if numRows==1 or numRows>=len(s):
            return s
        L=['']*numRows
        
        index,step=0,1
        for z in s:
            L[index]+=z
            if index==0:
                step=1
            elif index==numRows-1:
                step=-1
            index+=step
        return ''.join(L)

c++:翻譯

class Solution {
public:
    string convert(string s, int numRows) {
        if (numRows==1) return s;
        vector<string> L(min(numRows,int(s.size())));
        int index=0;
        int step=1;
       
        for(char z:s){
            L[index]+=z;
            if (index==0) step=1;
            if(index==numRows-1) step=-1;
            index+=step;
        }
        string res;
        for(string row:L)   res+=row;
        return res;    
    }
};

 

 
 
G
M
T
 
 
檢測語言世界語中文簡體中文繁體丹麥語烏克蘭語烏茲別克語烏爾都語亞美尼亞語伊博語俄語保加利亞語信德語修納語僧伽羅語克羅地亞語冰島語加利西亞語加泰羅尼亞語匈牙利語南非祖魯語卡納達語盧森堡語印地語印尼巽他語印尼爪哇語印尼語古吉拉特語吉爾吉斯語哈薩克語土耳其語塔吉克語塞爾維亞語塞索托語夏威夷語威爾士語孟加拉語宿務語尼泊爾語巴斯克語布爾語(南非荷蘭語)希伯來語希臘語庫爾德語弗裏西語德語意大利語意第緒語拉丁語拉脫維亞語挪威語捷克語斯洛伐克語斯洛文尼亞語斯瓦希里語旁遮普語日語普什圖語格魯吉亞語毛利語法語波蘭語波斯尼亞語波斯語泰盧固語泰米爾語泰語海地克里奧爾語愛爾蘭語愛沙尼亞語瑞典語白俄羅斯語科薩科西嘉語立陶宛語索馬里語約魯巴語緬甸語羅馬尼亞語老撾語芬蘭語蘇格蘭蓋爾語苗語英語荷蘭語菲律賓語薩摩亞語葡萄牙語蒙古語西班牙語豪薩語越南語阿塞拜疆語阿姆哈拉語阿爾巴尼亞語阿拉伯語韓語馬其頓語馬爾加什語馬拉地語馬拉雅拉姆語馬來語馬耳他語高棉語齊切瓦語
 
世界語中文簡體中文繁體丹麥語烏克蘭語烏茲別克語烏爾都語亞美尼亞語伊博語俄語保加利亞語信德語修納語僧伽羅語克羅地亞語冰島語加利西亞語加泰羅尼亞語匈牙利語南非祖魯語卡納達語盧森堡語印地語印尼巽他語印尼爪哇語印尼語古吉拉特語吉爾吉斯語哈薩克語土耳其語塔吉克語塞爾維亞語塞索托語夏威夷語威爾士語孟加拉語宿務語尼泊爾語巴斯克語布爾語(南非荷蘭語)希伯來語希臘語庫爾德語弗裏西語德語意大利語意第緒語拉丁語拉脫維亞語挪威語捷克語斯洛伐克語斯洛文尼亞語斯瓦希里語旁遮普語日語普什圖語格魯吉亞語毛利語法語波蘭語波斯尼亞語波斯語泰盧固語泰米爾語泰語海地克里奧爾語愛爾蘭語愛沙尼亞語瑞典語白俄羅斯語科薩科西嘉語立陶宛語索馬里語約魯巴語緬甸語羅馬尼亞語老撾語芬蘭語蘇格蘭蓋爾語苗語英語荷蘭語菲律賓語薩摩亞語葡萄牙語蒙古語西班牙語豪薩語越南語阿塞拜疆語阿姆哈拉語阿爾巴尼亞語阿拉伯語韓語馬其頓語馬爾加什語馬拉地語馬拉雅拉姆語馬來語馬耳他語高棉語齊切瓦語
 
 
 
 
 
 
 
 
 
文本轉語音功能僅限200個字符
 
 
選項 : 歷史 : 反饋 : Donate 關閉
相關文章
相關標籤/搜索