美文网首页
面试题5: 替换空格

面试题5: 替换空格

作者: 夹小欣 | 来源:发表于2018-03-19 21:39 被阅读8次

    思路:对于C++要从后向前替换,java好像 从前向后从后向前都一样

        public String replaceSpace(StringBuffer str) {
            int n = str.length();
            String res = "";
            for(int i=n-1;i>=0;i--){
                if(str.charAt(i)==' ')
                {
                    res="%20"+res;
                }
                else
                    res = String.valueOf(str.charAt(i))+res;
            }
            return res;
        }
    

    相关题目:
    合并两个有序数组,已知A1有足够大空间容纳A2
    思路:从后向前合并,减少移动次数

    public static void mergeArray(int[] a1,int[] a2,int m,int n){
            int i=m-1,j=n-1,k=a1.length-1;
            for(;j>=0&&i>=0;){
                if(a1[i]>a2[j]) {a1[k--]=a1[i];i--;
                }
                else a1[k--] = a2[j--];
            }
            while(j>0&&i<0)
                a1[k--] = a2[j--];
            while(i>0&&j<0)
                a1[k--]=a1[i--];
            for(int i1=0;i1<a1.length;i1++) 
                System.out.println(a1[i1]);
        }
    

    相关文章

      网友评论

          本文标题:面试题5: 替换空格

          本文链接:https://www.haomeiwen.com/subject/ngkmqftx.html