NodYoung

专注于计算机视觉,深度学习,机器人

6. ZigZag Conversion

6. 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”’.

Analysis:
关键是找出规律,参考:http://www.cnblogs.com/TenosDoIt/p/3738693.html
Source Code(C++):

#include <iostream>
#include <vector>
#include <cmath>
#include <string>
using namespace std;

class Solution {
public:
    string convert(string s, int numRows) {
        if (numRows<1){
            return "error";
        }
        if (numRows==1) {
            return s;
        }
        int interval=numRows*2-2;
        string zigzag;
        for (int i=0; i<s.size(); i+=interval) {
            zigzag.push_back(s.at(i));
        }
        for (int i=1; i<numRows-1; i++) {
            int m_interval=i*2;
            for(int j=i; j<s.size(); j +=m_interval) {
                zigzag.push_back(s.at(j));
                m_interval = interval-m_interval;
            }
        }
        for (int i=numRows-1; i<s.size(); i+=interval) {
            zigzag.push_back(s.at(i));
        }
        return zigzag;
    }
};

int main() {
    Solution sol;
    cout << sol.convert("", 2);
    cout << sol.convert("affff", 0);
    cout << sol.convert("PAYPALISHIRING", 3);
    return 0;
}
阅读更多
版权声明:转载请注明出处,谢谢。 https://blog.csdn.net/NNNNNNNNNNNNY/article/details/51549498
个人分类: leetcode
上一篇303. Range Sum Query - Immutable
下一篇125. Valid Palindrome
想对作者说点什么? 我来说一句

LeetCode6 ZigZag Conversion

2018年01月09日 10KB 下载

在matlab中运行的zigzag扫描程序

2009年02月12日 2KB 下载

zigzag算法_matlab实现

2013年05月09日 2KB 下载

8*8矩阵zigzag反扫描 matlab代码

2014年04月19日 463B 下载

zigzag算法的matlab实现

2012年03月08日 3KB 下载

Zigzag 扫描 c++

2010年01月20日 1KB 下载

zig-zag扫描

2013年01月13日 3KB 下载

MODIS Conversion Toolkit

2015年10月24日 1.28MB 下载

没有更多推荐了,返回首页

关闭
关闭