zoukankan      html  css  js  c++  java
  • 符号替换问题

    public class ReplaceSpace {
      // 问题:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String str=scanner.nextLine();
            scanner.close();
            char[] charArray = str.toCharArray();
            int length=charArray.length;
            int spaceNumber=0;// 获取空格数量
            for (char c : charArray) {
                if(c==' ') {
                spaceNumber++;
                }
            }
            int newLength=length+spaceNumber*2;
            char[] tempArray=new char[newLength];// 新的数组的长度
            System.arraycopy(charArray, 0, tempArray, 0, length);// 将原来的数组拷贝到新长度的数组中
            int indexofOriginal = length - 1;  
            int indexofNew = newLength - 1;  
            while (indexofOriginal>=0&&indexofOriginal!=indexofNew) {
                if (tempArray[indexofOriginal]==' ') {
                    tempArray[indexofNew--] = '0'; 
                    tempArray[indexofNew--] = '2';
                    tempArray[indexofNew--] = '%';
                }else {
                    tempArray[indexofNew--] = tempArray[indexofOriginal];
                }
                indexofOriginal--;
            }
            for (char c : tempArray) {
                System.out.print(c);
            }
        }
    }
    public class Solution {
        public String replaceSpace(StringBuffer str) {
            String str1=str.toString();
            char[] charArray = str1.toCharArray();
            StringBuilder sBuilder = new StringBuilder();
            for (char c : charArray) {
                if(c==' ') {
                sBuilder.append("%20");    
                }else {
                    sBuilder.append(c);
                }
            }
            String string = sBuilder.toString();
            return string;
        }
    }
  • 相关阅读:
    【剑指Offer】49把字符串转换成整数
    【剑指Offer】48不用加减乘除做加法
    【剑指Offer】47求1+2+3+...+n
    判断两个线段是否相交
    EM算法--原理
    理解KMP算法
    阿里校招笔试的一道逻辑题
    线性拟合之最小二乘方法和最小距离方法
    Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库
    正则表达式总结
  • 原文地址:https://www.cnblogs.com/stsinghua/p/6707217.html
Copyright © 2011-2022 走看看