美文网首页
(二)Z字形变换(6)

(二)Z字形变换(6)

作者: coolTigers | 来源:发表于2020-03-25 00:00 被阅读0次

题目:


image.png
//6 Z字形变化 字符串 中等级
std::string convert(std::string s, int numRows)
{

    if (numRows == 1 ||  s.size() <= numRows) {
        return s;
    }
    vector<string> vec;
    vec.resize(numRows);
    
    int index = 0;
    int flag = -1;
    for (int i = 0; i < s.size(); ++i){
        //cout << index << endl;
        vec[index] = vec[index] + s[i];
        if (i % (numRows - 1) == 0)
        {
            flag = -flag;
        }
        index += flag;

    }
    
    string temp = "";
    for (int i = 0; i < vec.size(); ++i) {
        temp += vec[i];
    }
    return temp;
}

这是一种朴素的方法做的,有两个注意点:
1、numRows为1的时候,或处罚if语句中分母为0,因此直接返回,当s的长度小于等于numRows时,也是直接返回的。
2、flag的变方向问题;
但是执行效率很差:


image.png

相关文章

  • (二)Z字形变换(6)

    题目: 这是一种朴素的方法做的,有两个注意点:1、numRows为1的时候,或处罚if语句中分母为0,因此直接返回...

  • 6、Z 字形变换

    Description 将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为...

  • LeetCode解题记录(6~10)

    6.Z字形变换 将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: PAH NAPLSI...

  • LeetCode-6 Z字形变换

    题目:6. Z字形变换 难度:中等 分类:字符串 解决方案:字符串遍历 今天我们学习第6题Z字形变换,这是一个字符...

  • Python算法-模拟过程实现算法

    6. Z 字形变换[https://leetcode-cn.com/problems/zigzag-convers...

  • 6.Z字形变换

    将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: 之后从左往右,逐行读取字符:"PAHNAP...

  • LeetCode[6] - Z字形变换

    题目 将字符串 "PAYPALISHIRING"以Z字形排列成给定的行数: 之后从左往右,逐行读取字符:"PAHN...

  • 6.Z字形变换

    将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: PA H NA P L SI I...

  • 6Z字形变换

    题目 思路1.文字转换有固定规则2.在长度内有序取数代码

  • 6.Z字形变换

    题目将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: P A H NA P L ...

网友评论

      本文标题:(二)Z字形变换(6)

      本文链接:https://www.haomeiwen.com/subject/onyzyhtx.html