/*
*zigzag covnert
*/#include <stdio.h>
#include <string.h>
#include <stdlib.h>/*n=numRows
Δ=2n-2    1                           2n-1                         4n-3
Δ=        2                     2n-2  2n                    4n-4   4n-2
Δ=        3               2n-3        2n+1              4n-5       .
Δ=        .           .               .               .            .
Δ=        .       n+2                 .           3n               .
Δ=        n-1 n+1                     3n-3    3n-1                 5n-5
Δ=2n-2    n                           3n-2                         5n-4
That is the zigzag pattern the question asked.
注意每一行两个数据间的步进,setp1 setp2.
*/
char* convert(char *s, int numRows)
{if(numRows==1)return s;int s_len=strlen(s);char *s_convert=(char*)malloc((s_len+1)*sizeof(char));char *s_r=s_convert;int i=0;int step1,step2;int pos;for(;i<numRows;++i){step1=(numRows-i-1)<<1;step2=i<<1;pos=i;if(pos<s_len) *s_convert++=s[pos];while(1){pos+=step1;if(pos>=s_len)break;if(step1)*s_convert++=s[pos];pos+=step2;if(pos>=s_len)break;if(step2)*s_convert++=s[pos];            }}*s_convert='\0';return s_r;
}
int main(int argc,char **argv)
{char s[]="123456789";printf("%s\n",convert(s,2));return 0;
}

zigzag convert相关推荐

  1. ZigZag Conversion

    ZigZag Conversion 1. Question 给定行数,将某字符串转换为zigzag形式,然后按行输出.zigzag形式如: The string "PAYPALISHIRIN ...

  2. [LeetCode题解] ZigZag Conversion

    原文在这,可以来我blog翻翻哦. 第二天.今天AC掉了一道之前没AC掉的题目... 今天的题目是6. ZigZag Conversion 题目描述: The string "PAYPALI ...

  3. 6. ZigZag Conversion

    题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows l ...

  4. LeetCode ZigZag Conversion

    题意:给出一个字符串和行数,求字符串zigzag变换后的字符串 如PAYPALISHIRING和行数为3,zigzag形式为 P A H N A P L S I I G Y I R 即结果字符串为PA ...

  5. [LeetCode]ZigZag Conversion

    题目:ZigZag Conversion 一串字符按照Z字形的数组给了我们,要求转成原本的顺序. 思路: 统计"|/"的个数: 竖着的和斜着的下标有对应关系: 竖着的:k = j* ...

  6. LeetCode 6. ZigZag Conversion

    原题链接在这里:https://leetcode.com/problems/zigzag-conversion/ 题目: The string "PAYPALISHIRING" i ...

  7. 蜗牛慢慢爬 LeetCode 6. ZigZag Conversion [Difficulty: Medium]

    题目 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows li ...

  8. ZigZag Conversion leetcode java

    题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows l ...

  9. 【leetcode】ZigZag Conversion

    题目简述 The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows ...

最新文章

  1. 脉脉上发匿名消息,拼多多员工被开除了!
  2. 沈向阳:微软每一个技术研发都会进行AI伦理道德评审
  3. 2021年春季学期-信号与系统-第四次作业参考答案-MATLAB实验题2
  4. 如何维护关键字_SEO人如何制定工作计划?【大站】
  5. 脉冲宽度测量程序 c51 c语言,基于C51单片机和LCD1602显示的超声波测距仪C语言程序...
  6. IOS-UITextField-改变光标颜色
  7. 基于Python实现对各种数据文件的操作
  8. linkedhashmap获取第n个元素_机试真题分享——交换链表前后第K个元素
  9. 树结构的储存与特点(相关基础知识)
  10. php 会员到期提醒_会员管理系统花了50万都没做成,用这五个功能轻松实现
  11. LED显示驱动(二):显示驱动FPGA验证流程与注意细节
  12. Keil5安装NXP核心LPX2000系列 出现err:Cannot read project file异常,err :出现闪退异常
  13. 半监督语义分割方法汇总(附代码分析)
  14. 【Go学习】GO语言异常处理机制panic和recover分析
  15. win禁用shift切换输入法
  16. Java生成无限制带参小程序码
  17. 此文让你至少走三年弯路
  18. 使用okHttp下载文件到本地
  19. shell 判断网线插拔_shell脚本自动检测网络掉线和自动重连
  20. qduoj 韬韬说做出这个泥萌就AK辣

热门文章

  1. Windows上获取cpu info, cpuid, cpu id 方法整理
  2. 【目标检测】Anchor Free —— OneNet(不需要NMS)
  3. 搜索引擎的索引和搜索
  4. 交换安全----局域网安全简介
  5. 数组连接中的vstack()函数与hstack()函数
  6. linux服务器监控
  7. vue中$refs的三种用法
  8. k8s containerd集群配置安装完整踩坑教程
  9. 20144306《网络对抗》MAL_恶意代码分析
  10. NYOJ82-迷宫寻宝(一)