剑指 Offer 05. 替换空格
题目:
请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy." 输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
代码1:
1 class Solution { 2 public String replaceSpace(String s) { 3 StringBuffer sb=new StringBuffer(s); 4 while(sb.indexOf(" ")>=0){ //循环查找字符串是否又空格 5 int t=sb.indexOf(" "); 6 sb.replace(t,t+1,"%20"); //替换字符串内空格 7 } 8 return sb.toString(); 9 } 10 }
代码2:
1 class Solution { 2 public String replaceSpace(String s) { 3 if(s==null||s.length()==0){return s;} 4 StringBuffer sb=new StringBuffer(s); 5 for(int i=0;i<sb.length();++i){ //利用循环一次遍历,空格置换为%20 6 if(sb.charAt(i)==' '){ 7 sb.replace(i,i+1,"%20"); //利用替换方法 8 } 9 } 10 return sb.toString(); 11 } 12 }
代码3:
1 class Solution { 2 public String replaceSpace(String s) { 3 if(s==null||s.length()==0){return s;} 4 return s.replace(" ","%20"); //直接利用替换方法 5 } 6 }
代码4://利用正则表达式
1 class Solution { 2 public String replaceSpace(String s) { 3 if(s==null||s.length()==0){return s;} 4 return s.replaceAll(" ","%20"); // 两个参数都是正则表达式 5 } 6 }
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术