电子商务网站建设规划说明书,乡村网站建设,怎么把网站源码,如何制作一个网页页面文章目录 1. 替换空格2. 字符串的左旋转3. 答案代码3.1 替换空格3.2 字符串的左旋转 PS#xff1a;每道题解题方法不唯一#xff0c;欢迎讨论#xff01;每道题后都有解析帮助你分析做题#xff0c;答案在最下面#xff0c;关注博主每天持续更新。 1. 替换空格 题目描述 请… 文章目录 1. 替换空格2. 字符串的左旋转3. 答案代码3.1 替换空格3.2 字符串的左旋转 PS每道题解题方法不唯一欢迎讨论每道题后都有解析帮助你分析做题答案在最下面关注博主每天持续更新。 1. 替换空格 题目描述 请实现一个函数把字符串 s 中的每个空格替换成%20。 示例1 输入s “We are happy.” 输出“We%20are%20happy.” 示例2 输入s “hello world.” 输出s “hello%20world.” 解析 在Java中我们要知道字符串的本身是没办法直接改变的所有只能在一个新的字符串上面实现。 所有我们就有了思路创建一个新的字符串遍历老的字符串当是空格的时候新的字符串加上个%20不是空格直接加上这个字符最后遍历完成得到的字符串便是我们想要的结果。方法一 注意 创建新的字符串不能创建String类型要创建StringBuilder ,因为String在相加的时候一直创建新的字符串消耗内存大。 -也可以使用库方法replace(),但是这样便失去了刷题的意义而且在面试的时候面试官也不希望看到这样的代码。方法二 2. 字符串的左旋转 题目描述 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如输入字符串abcdefg和数字2该函数将返回左旋转两位得到的结果cdefgab。 示例1 输入: s “abcdefg”, k 2 输出: “cdefgab” 示例2 输入: s “lrloseumgh”, k 6 输出: “umghlrlose” 解析 这道题有个取巧的方法就是应用切片函数进行字符串的切片调用substring()库方法。方法一。 面试的时候这种方法可能不让用所以我们可以用另一种方法。 列表遍历拼接创建一个StringBuilder的字符串依次拼接k 1到末尾字符然后再拼接首位字符到k最后返回字符串。方法二 还可以通过旋转字符的方式来做但是比较麻烦我们先把字符串转为字符数组然后分别旋转0 ~ k-1k ~ arr.length - 1坐标元素最后再旋转整个数组把这个数组再转化为字符串我们便得到了我们想要的结果。方法三 3. 答案代码
3.1 替换空格 //方法一public String replaceSpace(String s) {StringBuilder stringbuilder new StringBuilder();int len s.length();for(int i 0; i len; i){char ch s.charAt(i);if(ch ){stringbuilder.append(%20);}else{stringbuilder.append(ch);}}return stringbuilder.toString();}//方法二 public String replaceSpace(String s) {return s.replace( , %20);}3.2 字符串的左旋转 //方法一public String reverseLeftWords(String s, int n) {return s.substring(n) s.substring(0, n); }//方法二public String reverseLeftWords(String s, int n) {StringBuilder res new StringBuilder();for(int i n; i s.length(); i){res.append(s.charAt(i));}for(int i 0; i n; i){res.append(s.charAt(i));} return res.toString();}//方法三public String reverseLeftWords(String s, int n) {char[] arr s.toCharArray();reverse(arr, 0, n - 1);reverse(arr, n, arr.length - 1);reverse(arr, 0, arr.length - 1);s new String(arr);return s;}public void reverse(char[] arr, int left, int right){while(left right){char tmp arr[left];arr[left] arr[right];arr[right] tmp;left;right--;}}