leetcode 6 -- ZigZag Conversion
来源:互联网 发布:淘宝可以申请几个账号 编辑:程序博客网 时间:2024/05/22 12:07
题目
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)
题意
将字符串按照锯齿形(N字形)排列,然后把从上到下把所有行按从做到右的顺序组成新的字符串
ps:其实我刚开始也把题意理解错了,wr了好几次,于是乎去学长博客取经后才理解。
关于锯齿形解释如下: 1---------------7 2---------6----8------------12 3----5---------9------11 4--------------10
大概就是这个重组模式,不要嫌弃描述太抽象,图片上传不上来,空格显示不出来,我也无奈
思路
分两个部分,一是最顶行和最底行,二是中间,分别对两个部分找规律了
代码
char* convert(char* s, int numRows) { char *a=(char*)malloc(sizeof(char)*(strlen(s)+1)); int i,j,l,k=0,num=numRows*2-2; if(strlen(s)<=numRows || numRows==1) { return s; } for(i=0;i<numRows;i++) { if(i==0 || i==numRows-1) { j=i; while(j<strlen(s)) { a[k++]=s[j]; j+=num; } } else { j=i; l=num-i; while(j<strlen(s) || l<strlen(s)) { if(j<strlen(s)) { a[k++]=s[j]; j+=num; } if(l<strlen(s)) { a[k++]=s[l]; l+=num; } } } } a[k]='\0'; return a;}
0 0
- LeetCode 6 - ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- LeetCode(6)ZigZag Conversion
- Leetcode【6】:ZigZag Conversion
- [leetcode 6] ZigZag Conversion
- LeetCode 6 ZigZag Conversion
- LeetCode(6) ZigZag Conversion
- [Leetcode] 6 - ZigZag Conversion
- LeetCode 6:《ZigZag Conversion》
- [leetcode 6] ZigZag Conversion
- LeetCode | #6 ZigZag Conversion
- [leetcode] 6 ZigZag Conversion
- leetCode #6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- leetcode-6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- LeetCode 6 - ZigZag Conversion
- leetcode 6ZigZag Conversion
- 实现左移指定位数,时间复杂度O(n) ,空间复杂度O(1)
- 一、概览linux spi驱动子系统
- notifyDatasetChanged() listview gridview 不生效的一种加分享别人的遇到的情况
- 贪心 csust1250 绮礼的阴谋
- Cocos2d-x的学习之旅(六)输入框
- leetcode 6 -- ZigZag Conversion
- java笔记16 String类
- 硬盘寻址方案
- HTML5学习-Day1
- RMAN前奏
- 关于XTYPE
- Guava ---- Files文件操作
- 闰年判断方法
- sgu267:Optimist vs. Pessimist(排序)