zoukankan      html  css  js  c++  java
  • leetcode[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)

    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".

    class Solution {
    public:
        string convert(string s, int nRows) 
    {
        int n=s.length();
        if (n==0||n==1||nRows==1||n<=nRows)
        {
            return s;
        }
        string temp="";
        int k=(n-1)/(2*nRows-2);
        for (int i=0;i<nRows;i++)
        {
            if ((i==0)||(i==nRows-1))
            {
                temp+=s[i];
                for (int j=1;(j<=k)&&((i+j*(2*nRows-2))<n);j++)
                {
                    temp+=s[i+j*(2*nRows-2)];
                }
            }
            else
            {
                 temp+=s[i];
                int ntemp=i;
                int klast=(n-1-(nRows-1))/(2*nRows-2);
                int kk=(klast!=k)?(2*k):(2*k+1);
                for (int j=1;((j<=kk)&&(ntemp<n));j++)
                {
                    if (j%2)
                    {
                        ntemp+=(2*nRows-2*i-2);
                    } 
                    else
                    {
                        ntemp+=2*i;
                    }
                    if (ntemp<n)
                    {
                        temp+=s[ntemp];
                    }
                    else if(i>=nRows)
                    {
                        return temp;
                    }
                }
            }
        }
        return temp;
    }
    };
  • 相关阅读:
    os和sys模块
    time模块
    collections模块
    re模块
    Python初识一
    Python闭包函数
    压栈
    isinstance()和issubclass()
    匿名函数--lambda函数
    机器学习入门文章
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/4283713.html
Copyright © 2011-2022 走看看