leecode---06---字符串,之字形---使用之字形打印一个字符串

摘要:
指针=1;}}//最后,打印结果Stringresult=“”;对于{result+=st;}returnresult;}}
https://leetcode.com/problems/zigzag-conversion/description/
 
 
题意
给一个行数和一个字符串,要求使用之字形将字符放到每一行上面
 
分析
有几行就创建一个相应大小的字符串数组,然后用一个指针指示方向进行处理,指针其实就是1或者-1,加和之后就能够在数组里面移动,指向响应行数的字符串进行处理了。
 
 
代码
class Solution {
    public String convert(String s, int numRows) {
        if (s == null || s.length() == 0) return "";
        if (numRows == 1) return s;
        
        String[] rows = new String[numRows];
        Arrays.fill(rows,"");
        int row = 0;//表示行数的指针
        int pointer = 1;//表示正向
        
        for (int i=0;i < s.length();i++) {
            //1.先将当前的字符拿出来,放到row表示的行上面
            char c = s.charAt(i);
            rows[row] = rows[row] + c;
            row = row + pointer;
            //2.对行数进行调整,因为指向数组所以
            if (row > numRows-1) {
                row = row - 2;
                pointer = -1;
            } else if (row < 0) {
                row = 1;//这边注意是1,不是0,否则重复打印一次了。
                pointer = 1;
            }
        }
        
        //最后将结果进行打印
        String result = "";
        for (String st : rows) {
            result += st;
        }
        return result;
    }
}

免责声明:文章转载自《leecode---06---字符串,之字形---使用之字形打印一个字符串》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CentOS7 配置阿里云yum源,非常之简单idea 配置自定义模板下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

css 选择器匹配以某个字符开头或结尾

1、匹配以某字符串开头的 ID div: [id^= "item-" ] { color: red; } <div id="item-op"></div> 可匹配到 div 中 id为 item- 开头的元素 2、匹配以某字符串结尾的类名 div[class$="-btn"]:active { opacity: 0.8;...

python编码及requests乱码问题

1.字符编码简介 1.1. ASCIIASCII(American Standard Code for Information Interchange),是一种单字节的编码。计算机世界里一开始只有英文,而单字节可以表示256个不同的字符,可以表示所有的英文字符和许多的控制符号。不过ASCII只用到了其中的一半(x80以下),这也是MBCS得以实现的基础。...

bad interpreter:No such file or directory 解决方法

今天在执行一个从网上考下来的脚本的时候,出现了下面的错误: Linux下面一个脚本死活也运行不了, 我检查了数遍,不可能有错。 提示:bad interpreter:No such file or directory 上网上找了好久,总算发现原来是文件格式的问题。  可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的(1)....

winCE下Unicode编码

Unicode :宽字节字符集 1. 如何取得一个既包含单字节字符又包含双字节字符的字符串的字符个数? 可以调用Microsoft Visual C++的运行期库包含函数_mbslen来操作多字节(既包括单字节也包括双字节)字符串。 调用strlen函数,无法真正了解字符串中究竟有多少字符,它只能告诉你到达结尾的0之前有多少个字节。 2. 如何...

32. Springboot 系列(八)动态Banner与图片转字符图案的手动实现

使用过 Springboot 的对上面这个图案肯定不会陌生,Springboot 启动的同时会打印上面的图案,并带有版本号。查看官方文档可以找到关于 banner 的描述 The banner that is printed on start up can be changed by adding a banner.txt file to your cl...

MFC编程入门之二十一(常用控件:编辑框Edit Control)

  上一节讲了静态文本框,本节讲的是编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。   编辑框的通知消息   编辑框发生某些事件时会向父窗口发送通知消息。在对话框模板中的编辑框上点击右键,选择“Add Event Handler”,为...