[字符串]leetcode6:Z 字形变换(medium)

编程入门 行业动态 更新时间:2024-10-27 20:28:53

[字符串]leetcode6:Z <a href=https://www.elefans.com/category/jswz/34/1768754.html style=字形变换(medium)"/>

[字符串]leetcode6:Z 字形变换(medium)

题目:

6. Z 字形变换

题解:

  • 规律题
  • 可以观察到到Z字形字符串对应原始字符串的下标是由左上至右下递增的,所以我们需要模拟这个行索引的变化,在遍历 s 中把每个字符填到正确的行record[i]。
  • 遍历字符串:
  • 1)record[i]+=c:表示将字符c添加到对应的行
  • 2)i+=flag:表示更新下一个字符对应的行号
  • 3)flag=-flag:表示在达到Z字形转折点时,执行反向
  • 4)推荐大佬的讲法:清晰图解Z字形变换

代码如下:

class Solution {
public:string convert(string s, int numRows) {if(numRows<2)return s;vector<string> record(numRows);//存放numRoss行的字符串//flag为1表示向下走,为-1表示向上走int i=0,flag=-1;for(auto c:s){record[i].push_back(c);//在i行后添加字符cif(i==0||i==numRows-1)flag=-flag;//到达转折点,改变flagi+=flag;}string result;for(const auto& r:record)result.append(r);return result;}
};

更多推荐

[字符串]leetcode6:Z 字形变换(medium)

本文发布于:2023-07-28 18:53:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1279859.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字形   字符串   medium

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!