leetcode解题报告6. ZigZag Conversion
来源:互联网 发布:网站页面优化 编辑:程序博客网 时间:2024/06/15 12:36
leetcode解题报告6. ZigZag Conversion
题目地址
难度是medium
题目描述
给定一个字符串,按照zigzag的方式排,然后输出按这种方式排之后的顺序的字符串。
(比较复杂,但看例子就很明白了,具体看题目地址)
我的思路
刚看的时候,觉得是模拟类的题目,直接按zigzag的方式排就好了。但是,对字符串按某个方式排是比较抽象的,排成某个图案是让人来看的,但对机器或程序来说,还是以某个格式存储的。而且看题目要求,是输出按zigzag排列之后的字符串。通过几个例子模拟,发现这是有规律的,原字符串,可以通过一些映射关系,映射到结果的字符串。找规律即可。
我的代码
class Solution {public: string convert(string s, int numRows) { if (s.size() == 0) { return ""; } if (numRows == 1) { return s; } const int t = s.size()+1; char ans[t]; int a; a = 0; int c = 0; while (a < s.size() && c < s.size()) { ans[c++] = s[a]; a += (numRows - 1) * 2; } for (int i = 1; i < (numRows-1); i++) { bool flag = true; a = i; while (a < s.size() && c < s.size()) { ans[c++] = s[a]; if (flag) { a += (numRows - i - 1) * 2; flag = false; } else { a += i * 2; flag = true; } } } if (numRows < 2) { ans[c++] = '\0'; return ans; } a = numRows - 1; while (a < s.size() && c < s.size()) { ans[c++] = s[a]; a += (numRows - 1) * 2; } ans[c++] = '\0'; return ans; }};
阅读官方题解
没有官方题解,从网上的资料来看,也是找规律的。不过实现上,我是独立处理第一列和最后一列的,比较麻烦。网上有更优的实现。
思想核心总结
只是一个简单的找规律的题目。核心是自己手动看几个小规模的例子,尝试找规律。
0 0
- [leetcode] 6. ZigZag Conversion 解题报告
- LeetCode 6. ZigZag Conversion 解题报告
- [Leetcode] 6. ZigZag Conversion 解题报告
- leetcode解题报告6. ZigZag Conversion
- 【LeetCode】6.ZigZag Conversion(Medium)解题报告
- 【LeetCode】ZigZag Conversion 解题报告
- LeetCode ZigZag Conversion 解题报告
- LeetCode解题报告--ZigZag Conversion
- [LeetCode] ZigZag Conversion 解题报告
- [LeetCode] ZigZag Conversion 解题报告
- Leetcode ZigZag Conversion解题报告
- LeetCode解题报告 6. ZigZag Conversion[easy]
- [LeetCode 解题报告]006.ZigZag Conversion
- LeetCode(6) ZigZag Conversion解题报告
- 【Leetcode】6.ZigZag Conversion 解题
- ZigZag Conversion解题报告
- LeetCodeProblem6 ZigZag Conversion解题报告
- [Leetcode]解题文档-ZigZag Conversion
- 在O(1)时间复杂度删除链表节点
- java基本知识
- hashmap的实现原理
- 接口测试总结
- 补:html5语义化标签
- leetcode解题报告6. ZigZag Conversion
- java学习之直接插入排序
- 算法基础篇(8)------最小生成树
- myeclipse自带Tomcat的好处
- python初学者学习笔记(四)构建简单决策树
- !!!Highlight搬家
- Linux gcc编译命令
- android架构
- Zookeeper(十一)服务端处理,客户端回调