【LeetCode】6. Z字形变换 结题报告 (C++)

原创 2018年04月16日 19:31:39

原题地址:https://leetcode-cn.com/problems/zigzag-conversion/description/

题目描述:

将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数:

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

之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR"

实现一个将字符串进行指定行数变换的函数:

string convert(string text, int nRows);

convert("PAYPALISHIRING", 3) 应当返回 "PAHNAPLSIIGYIR" 。

解题方法:

class Solution {
public:
    string convert(string s, int numRows) {
        string str = "";
        int n = s.size();
        int p;
        if(n <= numRows || numRows == 1) return s;
        for(int i = 0 ; i < numRows ; i ++){
            p = i;
            while(p < n){
                str += s[p];
                if(i != 0 && i != numRows - 1 && p + numRows * 2 - 2 - i * 2 < n){
                    str += s[p + numRows * 2 - 2 - i * 2];
                }
                p += numRows * 2 - 2;
            }
        }
        return str;
    }
};

题目比较简单,细心找到规律就行。

C++语言基础

-
  • 1970年01月01日 08:00

LeetCode 6 ZigZag Conversion(Z型转换)(String)

翻译字符串“PAYPALISHIRING”通过一个给定的行数写成如下这种Z型模式: P A H N A P L S I I G Y I R然后一行一行的读取:“PAHNAPLSII...
  • NoMasp
  • NoMasp
  • 2015-09-21 22:22:29
  • 2512

【LeetCode-面试算法经典-Java实现】【006-ZigZag Conversion(Z字型转换)】

【006-ZigZag Conversion(Z字型转换)】输入一个字符串和指定的行数,将字符以Z字型输出。计算出字符的最大列数,根据列数和行数创建一个一维数组,再计算每个字符中一维数组中的位置,再对...
  • DERRANTCM
  • DERRANTCM
  • 2015-07-18 06:14:50
  • 2393

6.Z字形转换(ZigZag Conversion)

题目描述将字符串 &quot;PAYPALISHIRING&quot; 以Z字形排列成给定的行数:(下面这样的形状)P A H N A P L S I I G Y I R之后按逐行...
  • Regemc
  • Regemc
  • 2018-03-26 14:43:02
  • 63

LeetCode-Z字形转换

找规律的题目了,规律从下面的数组矩阵中可以很容易找出来 把字符串的下标按题目要求排列,发现第一行是等差数列 以后每加一行在上一行的数字+1就行 然后观察斜边 我们每次可以确认每一竖的数...
  • zero_hzz
  • zero_hzz
  • 2018-03-27 18:47:17
  • 51

leetcode-6 ZigZag Conversion Z形字符串输出

问题描述: The string "PAYPALISHIRING" is written in a zigzag pattern on agiven number of rows like th...
  • woliuyunyicai
  • woliuyunyicai
  • 2015-04-01 14:49:45
  • 781

Z字形编排

分三种情况: 1,如果二维数组中的元素matrix[i][j]中纵坐标j是偶数,且i=0或i=7,那么遍历路径在矩阵中的走向就水平向右移动一格; 2,如果二维数组中的元素matrix[i][j]中...
  • Travelerwz
  • Travelerwz
  • 2017-07-12 15:43:27
  • 408

leetcode-6. ZigZag Conversion(Z型字符串)

https://leetcode.com/problems/zigzag-conversion/#/description思路解析: 输入:一个字符串和行数 首先将string转换为字符数组使用t...
  • u013275928
  • u013275928
  • 2017-06-05 20:58:25
  • 196

Leetcode006--字符串的Z字型打印

给定一个字符串,和要控制的行数,将这个字符串以Z字型的方式来读出
  • jinhuoxingkong
  • jinhuoxingkong
  • 2016-09-27 14:09:57
  • 877

Z字形转化

LEECODE Algorithm 6. ZigZag Conversion 题目 代码块 想法 Description The string “PAYPALISHIRING” is writte...
  • qq_34689452
  • qq_34689452
  • 2017-10-09 21:33:45
  • 133
收藏助手
不良信息举报
您举报文章:【LeetCode】6. Z字形变换 结题报告 (C++)
举报原因:
原因补充:

(最多只允许输入30个字)