c语言sscanf函数的用法是什么
228
2022-11-22
#yyds干货盘点#剑指 Offer 05. 替换空格
题目
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy." 输出:"We%20are%20happy."
我的答案
class Solution { public String replaceSpace(String s) { StringBuffer str =new StringBuffer(); //System.out.println(s.charAt(0)); //System.out.println(s.length()); for(int i=0;i<=s.length()-1;i++){ if ((s.charAt(i))==' '){ str.append("%20"); } else{ str.append(s.charAt(i)); } } //System.out.println(str); return str.toString(); } }
优秀答案
不利用额外空间,在原地修改
public class Solution { public String replaceSpace(StringBuffer str) { int len1 = str.length() - 1; for(int i = 0; i <= len1; i++){ if(str.charAt(i) == ' '){ str.append(" "); } } int len2 = str.length() - 1; while(len2 > len1 && len1 >= 0){ char c = str.charAt(len1--); if(c == ' '){ str.setCharAt(len2--, '0'); str.setCharAt(len2--, '2'); str.setCharAt(len2--, '%'); }else{ str.setCharAt(len2--, c); } } return str.toString(); } }
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~