zoukankan      html  css  js  c++  java
  • Leetcode第六题——横向遍历ZIGZAG数组

    前馈知识:

      String、StringBuffer与StringBuilder的区别

      

        题目图解:

          

          代码如下:

            

    class Solution {
        public String convert(String s, int numRows) {
            if(s==null||s.length()==0||numRows==1){
                return s;
                //当要求只有一行的时候,下面的公式是不符合要求的
            }
            StringBuilder[] array=new StringBuilder[numRows];
            for(int i=0;i<numRows;i++){
                array[i]=new StringBuilder();
            }
    
            //开始遍历
            int index=0;
            int dir=1;
            for(char c:s.toCharArray()){
                array[index].append(c);
                index+=dir;
                if(index==0||index==numRows-1){
                    dir=-dir;
                }
            }
            //新建一个新的字符串
            StringBuilder result=new StringBuilder();
            for(int i=0;i<numRows;i++){
                result.append(array[i]);
            }
            return result.toString();
        }
    }
  • 相关阅读:
    代码查错1
    代码查错
    垃圾回收器
    面试题(操作语句)
    面试题(JVM加载机制)
    面试题(线程)
    异常
    IO流
    es5 学习笔记
    ECMAScript5 Object的新属性方法
  • 原文地址:https://www.cnblogs.com/resort-033/p/13561066.html
Copyright © 2011-2022 走看看