剑指Offer面试题4替换空格

来源:互联网 发布:百度云登不上网络异常1 编辑:程序博客网 时间:2024/05/16 08:02

面试题4,替换空格,把字符串中的空格替换为%20。

思路1:用另一个String进行复制或者替换比较方便。
思路2:先统计空格数量,确定扩长后的String总长度,一个指针a在原始字符串末尾,一个指针b在扩长后的字符串末尾。向前移动a,把字符复制给b,直到遇到空格。
思路3:遇到空格就后移字符,这是不好的方法,复杂度n*n。所以如果合并字符串或者数组时从前往后复制需要移动字符多次,那么就考虑从后往前以减少移动次数。
相关题目:两个有序数组A1和A2,A1末尾有足够的空间容纳A2,请把A2插入到A1中并排好序。
思路:从尾到头比较A1和A2,把较大的数字放在A1的合适位置。

import java.util.Scanner;public class ReplaceBlank {static String input(){Scanner sc = new Scanner(System.in);System.out.println("请输入:");String input = sc.nextLine();sc.close();return input;}static String replace(String input){if (input == null) {return null;}StringBuffer output = new StringBuffer();for(int i=0;i<input.length();i++){if (input.charAt(i) == ' ') {output.append("%20");//也可以不用StringBuffer,用数组去做,即char[] xxx=input.toCharArray();}else{output.append(input.charAt(i));}}return new String(output);}public static void main(String[] args) {System.out.println(replace(input()));}}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 安川710报警怎么办 皮带轮拆不下来怎么办 绣花机老是断线怎么办 伺服电机失步怎么办 伺服电机丢脉冲怎么办 工控机西门子系统死机怎么办 iPad屏幕被磁化怎么办 win10鼠标不反应怎么办 快把游戏打不开怎么办 消防退出现役士兵怎么办 武警退出现役士兵怎么办 c盘空间不够怎么办 解压文件被破坏怎么办 exe被拒绝访问怎么办 游戏文件删除了怎么办? 战地一打不开怎么办 迅雷怎么下载不动怎么办 电脑带不动游戏怎么办 sap wm自动上架怎么办 战地1停止运行怎么办 c9pro检测到潮湿怎么办 战地1卡顿怎么办 战地1停止工作怎么办 大写锁定shift解除怎么办 游戏突然掉帧怎么办 oppo应用商店打不开怎么办 ps4战地1校园网怎么办 战地4延迟高怎么办 红米手机打不开怎么办 台式电脑网页打不开怎么办 电脑网页很多都打不开怎么办 qq发送不了位置怎么办 qq无法找到入口怎么办 玩游戏总是掉怎么办 ipad所有按键失灵怎么办 手机启动器停止运行怎么办 安卓版泰拉瑞亚联机失去连接怎么办 吃鸡安装不了怎么办 obb文件丢失了怎么办 dnf登录闪退怎么办 泰拉瑞亚地图找不到备份怎么办