6. Zigzag convertion

对输入的字符串做锯齿形变换,并输出新的字符串,所谓zigzag变化如下图所示。

将"ABCDEFGHIJKL"做4行的锯齿变换,新的字符串为:AGBFHLCEIKDJ"

实现一个根据输入字符串s与行数numRows的函数。

思路:

根据输入的行数创建一个字符串slice, slice一个元素表示该行的所有字符,最后将所有slice元素相加,即为新的字符串。


func zigzag_convert(s string, numRows int) string {
if numRows == 1 {
return s
}
var str string
tmp := make([]string, numRows)
for i, c := range s {
j := i % (numRows*2 - 2)
if j < numRows {
tmp[j] += string(c)
} else {
tmp[numRows*2-2-j] += string(c)
}
} for _, str1 := range tmp {
str += str1
}
return str
}

Leetcode_6. Zigzag convertion的更多相关文章

  1. [LeetCode] Zigzag Iterator 之字形迭代器

    Given two 1d vectors, implement an iterator to return their elements alternately. For example, given ...

  2. [LeetCode] Binary Tree Zigzag Level Order Traversal 二叉树的之字形层序遍历

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

  3. [LeetCode] ZigZag Converesion 之字型转换字符串

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

  4. 【leetcode】ZigZag Conversion

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

  5. 整数压缩编码 ZigZag

    在分析Avro源码时,发现Avro为了对int.long类型数据压缩,采用Protocol Buffers的ZigZag编码(Thrift也采用了ZigZag来压缩整数). 1. 补码编码 为了便于后 ...

  6. No.006:ZigZag Conversion

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

  7. ZigZag Conversion leetcode java

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

  8. 【leetcode❤python】 6. ZigZag Conversion

    #-*- coding: UTF-8 -*- #ZigZag Conversion :之字型class Solution(object):    def convert(self, s, numRow ...

  9. Binary Tree Zigzag Level Order Traversal [LeetCode]

    Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...

随机推荐

  1. Spring Boot Mock单元测试学习总结

    单元测试的方法有很多种,比如使用Postman.SoapUI等工具测试,当然,这里的测试,主要使用的是基于RESTful风格的SpringMVC的测试,我们可以测试完整的Spring MVC流程,即从 ...

  2. 《网络安全编程基础》之Socket编程

    <网络安全编程基础>之Socket编程 我的代码 server.c // server.cpp : Defines the entry point for the console appl ...

  3. 20155314 2016-2017-2 《Java程序设计》第2周学习总结

    20155314 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 学习目标 了解Java编程风格 认识Java的类型与变量 掌握Java流程控制的方法(分支. ...

  4. Python之Cubes框架使用

    本文主要内容包含Cubes框架的介绍和简单使用. 一. 介绍和安装 Cubes是一个轻量级的Python框架和一套工具,用于开发报告和分析应用程序,在线分析处理(OLAP),多维分析和聚合数据的浏览. ...

  5. 在文章详情页调用seo标题标签

    在新闻的详情页,调用当前栏目的seo标题,原标签是:{dede:field.seotitle /} {dede:type} [field:seotitle/] {/dede:type} 修改 \inc ...

  6. Apache Shiro(一)-登录认证和权限管理初识

    What is Apache Shiro? Apache Shiro是一个功能强大.灵活的,开源的安全框架.它可以干净利落地处理身份验证.授权.企业会话管理和加密. Apache Shiro的首要目标 ...

  7. Xcode下载模拟器太慢?

    在Xcode里下载模拟器,速度实在是太慢了.点击下载,卡住十几分钟才开始下载,并且龟速进行. 解决方案:获取模拟器下载地址,自己选择下载器进行下载. 找到下载链接 打开 Console.app(苹果电 ...

  8. 20155238 2016-2017-2 《Java程序设计》第六周学习总结

    教材学习内容总结 第十章 串流设计 输入串流:将数据从来源取出. 输出串流:将数据写入目的地. 输入串流代表对象为java.io.InputStream实例 输出串流代表对象为java.io.Outp ...

  9. 2018下学期C语言学习总结

    怎么说呢,2018年下学期已经过去了,2019年的上学期又来了,在2018年没有达到自己想要的结果,希望2019年可以达到,加油!我希望我以后可以又快又准确的完成C语言的编程,学习好所以关于电脑的基础 ...

  10. c++ 双向链表 的查找和删除

    #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> ...