这篇page主要是针对leetcode上的剑指offer 95.替换空格所写的。小尼先简单的给各位介绍一下这道题的题意,就是实现一个函数,把字符串s中的每一个空格替换成"%20"。
其实这道题就是考研对字符串的调用的熟练程度,小尼给出的思路就是我们创建一个全新的char类型的数组(定义的长度可以就是我们给出的字符串的长度的三倍),然后我们遍历我们给出的字符串,然后我们如果遍历到的就是不同的字母,那么我们就直接将遍历的元素放入我们创建的数组中,如果我们遍历到的是空格,那么我们就在数组中加入三个元素,就是题目给我们规定的那三个符号。接下来,小尼拉一下代码:
int num = s.length(); char[] result = new char[3*num]; char ch; int k = 0; for(int i = 0;i<num;i++){ ch = s.charAt(i); if(c == ' '){ a[k++] = '%'; a[k++] = '2'; a[k++] = '0'; } else{ a[k++] = ch; } } String str = new String(result,0,k); return str;
这个写法还是比较简洁简单的,小伙伴们可以参考