zoukankan      html  css  js  c++  java
  • LeetCode 6 ZigZag Conversion 模拟 难度:0

    https://leetcode.com/problems/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 numRows) {
            if(numRows == 1)return s;
            string* a = new string[numRows];
            string ans;
            int n = 2 * numRows - 2;
            for(int i = 0;i < s.size();i++)
            {
                int r = i % n;
                int l = r % numRows;
                if(l == r)a[l] += s[i];
                else a[numRows - l - 2] += s[i];
            }
            for(int i = 0;i < numRows;i++){
                ans += a[i];
            }
            return ans;
        }
    };
    

      

  • 相关阅读:
    [BZOJ1584][Usaco2009 Mar]Cleaning Up 打扫卫生
    CSS浮动
    Django by example -----1总结
    C#函数重载
    linux目录的特点
    Linux调优
    linux
    对齐方式
    19-10-25-G-悲伤
    19-10-24-H
  • 原文地址:https://www.cnblogs.com/xuesu/p/4776724.html
Copyright © 2011-2022 走看看