栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

剑指 Offer 05. 替换空格(java双指针)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

剑指 Offer 05. 替换空格(java双指针)

一:题目

二:上码
class Solution {
    
 public String replaceSpace(String s) {
    
    if (s == null) return null;

    StringBuilder str = new StringBuilder();

    for (int i = 0; i < s.length(); i++) {
        if (s.charAt(i) == ' ') {
            str.append("  ");//增加两个空格
        }
    }   

    int oldl = s.length()-1;
    s+=str;
    int newl = s.length()-1;
    char[] chars = s.toCharArray();//字符串转换成字符数组

    for (int i = oldl,j = newl; i < j; i--,j--) {
        if (chars[i] != ' ') {
           chars[j] = chars[i]; 
        } else {
            chars[j] = '0';
            chars[j-1] = '2';
            chars[j-2] = '%';
            j = j-2;
        }
    }
    
    return new String(chars);
	
	//错误用法
    // for (int i = oldl,j = newl; i < j; i--,j--) {
    //         if (s.charAt(i) != ' ') {
    //             s.charAt(j) = s.charAt(i);
    //         } else {
    //             s.charAt(j) = '0';
    //             s.charAt(j-1) = '2';
    //             s.charAt(j-2) = '%';
    //             j = j-2;
    //         }
    //     }

    // return s;
 }
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/842079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号