• 6. ZigZag Conversion


    description:

    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 s, int numRows);

    Example:

    Example 1:
    
    Input: s = "PAYPALISHIRING", numRows = 3
    Output: "PAHNAPLSIIGYIR"
    
    Example 2:
    
    Input: s = "PAYPALISHIRING", numRows = 4
    Output: "PINALSIGYAHRPI"
    Explanation:
    
    P     I    N
    A   L S  I G
    Y A   H R
    P     I
    
    

    my answer:

    就是找到现在这个string的这个位置应该填原来string的哪个

    class Solution {
    public:
        string convert(string s, int nRows) {
            if (nRows <= 1) return s;
            string res = "";
            int size = 2 * nRows - 2;
            for (int i = 0; i < nRows; ++i) {
                for (int j = i; j < s.size(); j += size) {
                    res += s[j];
                    int tmp = j + size - 2 * i;
                    if (i != 0 && i != nRows - 1 && tmp < s.size()) res += s[tmp];
                }
            }
            return res;
        }
    };
    

    relative point get√:

    hint :

    找规律...
    要疯了,之前我的代码一直报错原来是因为没用google浏览器,我勒个去没sei了。。。校园网啥时候能流畅使用google啊

  • 相关阅读:
    浅读《构建之法》
    def 和 lamdba的区别
    Numpy和Pandas的区别
    Django:每点击一次就增加行可输入的表格
    F函数和Q函数的作用
    super()的用法
    liunx操作系统
    celery(超详细)
    celery
    FastDFS环境搭建
  • 原文地址:https://www.cnblogs.com/forPrometheus-jun/p/10561349.html
Copyright © 2020-2023  润新知