zoukankan      html  css  js  c++  java
  • leetcode143zigzag-conversion

    题目描述

    字符串"PAYPALISHIRING"写成3行的Z字形的样式如下:

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


    按行读这个Z字形图案应该是 "PAHNAPLSIIGYIR"

    请编写代码完成将字符串转化为指定行数的Z字形字符串:

    string convert(string text, int nRows);


    convert("PAYPALISHIRING", 3)应该返回"PAHNAPLSIIGYIR"

    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"
    示例1

    输入

    复制
    "AB",2

    输出

    复制
    "AB"
    class Solution {
    public:
        /**
         *
         * @param s string字符串
         * @param nRows int整型
         * @return string字符串
         */
        string convert(string s, int nRows) {
            // write code here
            if (nRows <=1) return s;
            int t=nRows+nRows -2;//求出循环周期
            string res="";
            vector <string> m(nRows,res);
            for (int i=0;i<s.length();i++){
                int a=i%t;
                if (a<nRows)//往下走
                    m[a]+=s[i];
                else
                    m[t-a]+=s[i];//往上走
                
            }
            for (int i=0;i<nRows;i++)
                res+=m[i];
            return res;
            
            
        }
    };



  • 相关阅读:
    Java二维数组
    Java实现冒泡排序
    python类简记
    LaTeX:论文Instruction最后一段的章节引用
    在Adobe IIIustator中加入数学公式——配合MathType使用
    org.springframework.web.bind.annotation不存在
    xshell5 下载安装
    MultipartFile解析Excel
    开源项目环境搭建
    学习路线
  • 原文地址:https://www.cnblogs.com/hrnn/p/13353534.html
Copyright © 2011-2022 走看看