6. ZigZag Conversion(Z字形输出数组)
来源:互联网 发布:嗅探 软件 编辑:程序博客网 时间:2024/05/16 06:18
官网
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”.
题目大意
- 1.之字型摆字符串然后横着输出重组了的字符串。
解题思路
- 1.字符串最后是这么摆的,每行都由主元素和插入元素组成,主元素中间插入一个元素,每层的主元素间隔为2*(n-1),插入的元素与它前面一个元素的间隔为2×(n-1)-2*i。
AC代码
#include<iostream>#include<vector>#include<cstdio>using namespace std;class Solution {public: string convert(string s, int numRows) { if (s.empty()) { return s; } int length = s.length(); if (length<=numRows||numRows==1) { return s; } string sb = ""; //主元素之间的间隔 int step = 2*(numRows-1); int count = 0; for (int i = 0; i < numRows; ++i) { //主元素之间插入元素与它前一个主元素的间隔 int interval = step - 2*i; for (int j = i; j < length; j+=step) { sb = sb + s[j]; //满足条件则插入 if (interval>0&&interval<step&&j+interval<length) { sb = sb+s[j+interval]; } } } return sb; }};int main(int argc, char *argv[]) { string aaa = "PAYPALISHIRING"; Solution solution; aaa = solution.convert(aaa,3); cout << aaa << endl;}
0 0
- 6. ZigZag Conversion(Z字形输出数组)
- zigzag conversion 字符串的Z字形分离
- leetcode-6. ZigZag Conversion(Z型字符串)
- z字形矩阵输出
- ZigZag Conversion(“Z”形转换)
- Z字形编排数组
- LeetCode 6 ZigZag Conversion(Z型转换)(String)
- LeetCode OJ 之 ZigZag Conversion (“Z”转换)
- 6. ZigZag Conversion (Easy)
- 6. ZigZag Conversion(Medium)
- (二叉树z字形层次遍历)LeetCode#103. Binary Tree Zigzag Level Order Traversal
- Z字形编排问题(Zigzag)的一种更简单的实现
- ZigZag Conversion [Z 型字母转换]
- (LeetCode)ZigZag Conversion --- Z型字符串
- [C/C++]OJ练习题:Z字形扫描(Zigzag Scan)
- 【趣味题】输出蛇形矩阵(由内向外、由外向内)、输出Z字形矩阵。
- LeetCode 6. ZigZag Conversion(之字形)
- Leetcode题解(Python): 6. ZigZag Conversion
- OkHttp使用详情
- 用户 'IIS APPPOOL\DefaultAppPool' 登录失败。
- AVL树的插入与删除(均为递归实现)
- java入门1
- 单片机AD-DA转换
- 6. ZigZag Conversion(Z字形输出数组)
- 分销算法 无限级树形结构算法
- 【翻译】Android Interface Definition Language (AIDL)
- 脚本增加浏览量
- Python pandas 入门
- 广播的实践-强制下线功能
- uiautomator 之uiautomator 2.0 UiObject2学习收藏
- linux学习笔记2----Torvalds的Linux发展
- 笔记5:HTML总结!