• 每日一题 为了工作 2020 0416 第四十五题


    /**
     * 问题:字符串的调整与替换
     * 给定一个字符类型的数组chas[],其中只含有数字字符和"*"字符,要求把所有的"*"
     * 字符移动到chas的左边,数字字符移动到chas的右边,不得改变数字字符的顺序。
     * 要求:时间复杂度为O(N),空间复杂度为O(1)。
     */
    

      

    public class Modify {
    
        public static char[] modify(char chas[]){
            if (chas == null || chas.length == 0){
                return null;
            }
            int len = chas.length;
            char newArray[] = new char[len];
            for (int i= chas.length-1 ; i > 0 ; i--){
                if (chas[i] != '*'){
                    newArray[len - 1] = chas[i];
                    len --;
                }
            }
            for (int i = 0; i < newArray.length; i++){
                if (newArray[i] == 0){
                    newArray[i] = '*';
                }
            }
            return newArray;
        }
    
        public static void main(String[] args) {
            char chas[]=new char[]{'*','1','3','*','5','*'};
            showCharArray(chas);
            char[] result = modify(chas);
            showCharArray(result);
        }
        public static void showCharArray(char array[]){
            for (int i = 0 ; i < array.length ; i++){
                System.out.print(array[i] + "	");
            }
            System.out.println();
        }
    }
    

      

    *运行结果

     

  • 相关阅读:
    项目数据分析师CPDA印章
    一点想法
    该减肥啦
    PMP证书到手
    Google App Engine之初体验
    转K线理论初级三
    黄小琥没那么简单
    使用webapp框架再现Hello World
    Google App Engine之介绍篇
    转股票中KDJ线的详细分析
  • 原文地址:https://www.cnblogs.com/walxt/p/12712148.html
Copyright © 2020-2023  润新知