空格替换

来源:互联网 发布:彩票pk10开奖网源码 编辑:程序博客网 时间:2024/05/18 06:52

设计一种方法,将一个字符串中的所有空格替换成 %20。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。

public class Solution {    /**     * @param string: An array of Char     * @param length: The true length of the string     * @return: The true length of new string     */    public int replaceBlank(char[] string, int length) {        // Write your code here        int blankCount=0;        for(int i=0;i<length;i++){            if(string[i]==' '){                blankCount++;            }        }        //new length of string        int newLen=length+2*blankCount;        for(int i=length-1;i>=0;i--){            if(string[i]!=' '){                string[newLen-1]=string[i];                newLen--;            }else{                string[newLen-1]='0';                string[newLen-2]='2';                string[newLen-3]='%';                newLen-=3;            }        }        return length+2*blankCount;    }}
相关题目:

有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2。请事先一个函数,把A2中的所有数字插入到A1中并且所有的数字都是排序的。

方法:从尾到头比较A1和A2中的数字,并把较大的数字复制到A1的合适位置。

public static void mergeTwoSortedArray(int[] arr1,int len1,int[] arr2,int len2){int len=len1+len2;int index1=len1-1;int index2=len2-1;int index=len-1;while(index1>=0 && index2>=0){if(arr1[index1]>=arr2[index2]){arr1[index]=arr1[index1];index--;index1--;}else{arr1[index]=arr2[index2];index--;index2--;}}while(index1>=0){arr1[index]=arr1[index1];index--;index1--;}while(index2>=0){arr1[index]=arr2[index2];index--;index2--;}}



0 0
原创粉丝点击