zoukankan      html  css  js  c++  java
  • leecode---06---字符串,之字形---使用之字形打印一个字符串

     
     
    题意
    给一个行数和一个字符串,要求使用之字形将字符放到每一行上面
     
    分析
    有几行就创建一个相应大小的字符串数组,然后用一个指针指示方向进行处理,指针其实就是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;
        }
    }
  • 相关阅读:
    webpack查缺补漏
    使用express、react、webpack打包、socket.io、mongodb、ant.design、less、es6实现聊天室
    理解restful 架构 && RESTful API设计指南
    socket.io
    数学图形(1.7)圆内旋轮线
    数学图形(1.6)抛物线
    数学图形(1.5)克莱线
    数学图形(1.4)心形线
    数学图形(1.3)旋轮线
    数学图形(1.2)Sin曲线
  • 原文地址:https://www.cnblogs.com/buptyuhanwen/p/8862448.html
Copyright © 2011-2022 走看看