剑指offer - 面试题4:替换空格
来源:互联网 发布:mac怎么把图标放桌面 编辑:程序博客网 时间:2024/06/06 04:00
问题导读:
输入一个带有空格的字符串,将字符串中的空格替换为 20%
代码:
import java.util.Scanner;public class interview_4 { private static int counter = 0; private static char []ch = new char[32]; public static void main(String []args) { Scanner cin = new Scanner(System.in); /* *先用scanner 读取字符串,在存到char数组中 */ String str = cin.nextLine(); for(int j = 0; j < str.length(); j++) { ch[j] = str.charAt(j); } //得到有效字符串长度和空格数量 int lengthOfOriginal = 0; int i = 0; while(ch[i] != 0) { lengthOfOriginal++; if(ch[i] == ' ') { counter++; } i++; } /* * 定义两个指针,分别指向新字符串尾部和原始字符串尾部 * 从后向前替换 */ int indexOfOriginal = lengthOfOriginal; int newLength = counter*2 + lengthOfOriginal; int indexOfNew = newLength; while(indexOfOriginal >= 0 && indexOfNew > indexOfOriginal) { if(ch[indexOfOriginal] != ' ') { ch[indexOfNew--] = ch[indexOfOriginal--]; } else { ch[indexOfNew--] = '%'; ch[indexOfNew--] = '0'; ch[indexOfNew--] = '2'; indexOfOriginal--; } } for(int j = 0; j < newLength; j++) { System.out.print(ch[j]); } }}
测试:
peerslee@peerslee-ubuntu:~/ws/java/offer/4$ java interview_4 Gun N Rose !Gun20%N20%Rose20%!peerslee@peerslee-ubuntu:~/ws/java/offer/4$ java interview_4 Hello PeersLee!Hello20%PeersLee!peerslee@peerslee-ubuntu:~/ws/java/offer/4$ java interview_4 OfferOfferpeerslee@peerslee-ubuntu:~/ws/java/offer/4$
0 0
- 剑指offer-->面试题4 替换空格
- 《剑指offer》面试题4 替换空格
- 【剑指offer】面试题4:替换空格
- 【剑指offer】面试题4替换空格
- 剑指offer 面试题4 替换空格
- 剑指Offer:面试题4 替换空格
- 剑指offer-面试题4-替换空格
- 《剑指Offer》面试题4:替换空格
- 【剑指offer】 面试题4: 替换空格
- 剑指offer 面试题4---替换空格
- 剑指offer面试题4-- 替换空格
- 【剑指offer】面试题4:替换空格
- 剑指Offer:面试题4 替换空格
- 剑指offer-面试题4:替换空格
- 剑指Offer 面试题4 替换空格
- 剑指offer-----面试题4(替换空格)
- 剑指offer面试题4 替换空格
- 剑指offer面试题4:替换空格
- 【JZOJ4772】【NOIP2016提高A组模拟9.9】运输妹子
- 黑马程序员:连续两班仅6日就业率突破53%,看编程语言PHP前景
- 句子逆序
- android 不透明度16进制值
- 返回值为对象的函数识别
- 剑指offer - 面试题4:替换空格
- iOS NSAttributedString和NSMutableAttributedString、NSMutableParagraphStyle的详细用法
- Android系统内置下载器服务DownloadManager的使用
- angularjs2 公共部分
- 移动开发需要知道的像素知识『多图』
- 视频兼容
- 图片的膨胀与腐蚀处理
- 求一个整数的二进制表示中1的个数
- java算法-从30里面随机7个数字最优写法