zoukankan      html  css  js  c++  java
  • 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) 
        {
            string* str=new string[nRows];
            int index=0;
            while(index<s.length())
            {
                for(int j=0;j<nRows && index<s.length();j++)
                    str[j]+=s[index++];
                for(int j=nRows-2;j>0 && index<s.length();j--)
                    str[j]+=s[index++];
            }
            string result;
            if(nRows>s.length()) nRows=s.length();
            for(int i=0;i<nRows;i++)
                result=result+str[i];
            return result;
        }
    }; 
  • 相关阅读:
    cookies和re
    2018福大软工实践-第一次作业之自我介绍
    2018福大软工实践-第一次作业
    Linux shell脚本编程
    课程第八次作业
    课程第七次作业
    课程第六次作业
    课程第五次作业
    四则运算课程第四次作业
    第三次课程作业
  • 原文地址:https://www.cnblogs.com/erictanghu/p/3759179.html
Copyright © 2011-2022 走看看