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;
            
            
        }
    };



  • 相关阅读:
    Oracle-增加字段
    Oracle数据库将varchar类型的字段改为Clob类型
    将Oracle数据库字段长度进行修改
    http请求util
    读取excel文件后,将一行数据封装成一个对象,多行返回一个map对象即可
    使用tushare 库查阅交易日历
    python winsound模块
    python可视化:matplotlib系列
    期货、股指期权、ETF期权
    股指期货
  • 原文地址:https://www.cnblogs.com/hrnn/p/13353534.html
Copyright © 2011-2022 走看看