LF.281.Remove Spaces
Posted davidnyc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LF.281.Remove Spaces相关的知识,希望对你有一定的参考价值。
Given a string, remove all leading/trailing/duplicated empty spaces.
Assumptions:
The given string is not null.
Examples:
“ a” --> “a”
“ I love MTV ” --> “I love MTV”
1 public String removeSpaces(String input) {
2 // Write your solution here
3 //corner case
4 if (input.isEmpty()){
5 return input ;
6 }
7 /*
8 return [0, i) j is the counter
9 * case 1: not space: input[i++] = input[j++]
10 * case 2: if space
11 * 2.1: leading space: skip
12 * i = 0
13 * 2.2: duplicate space: keep the first space
14 * j != j-1 : j一定是SPACE, J-1 如果不是的话,把当前的SPACE 给I 吃
15 * 2.3: trailing space : remove
16 * j to the end, and i = "", i--
17 * */
18 int slow = 0, fast = 0;
19 char[] chars = input.toCharArray();
20 while (fast < chars.length){
21 if (chars[fast] !=\' \' ){
22 chars[slow++] = chars[fast++] ;
23 } else{
24 //非开头, 中间没连续_ 末尾可能进去一个 _
25 if (slow>0 && chars[fast] != chars[fast-1]){
26 chars[slow++] = chars[fast++] ;
27 } else{
28 fast++ ;
29 }
30 }
31 }
32 //post-processing: it is possible we still have one trailing \' \'
33 if (slow>0 && chars[slow-1] == \' \'){
34 return new String(chars, 0, slow-1) ;
35 }
36 return new String(chars, 0, slow) ;
37 }
以上是关于LF.281.Remove Spaces的主要内容,如果未能解决你的问题,请参考以下文章
DigitalOcean Spaces 调用 list_buckets 不返回任何内容
总是报Expected indentation of 0 spaces but found 2如何解决
rep(“”,spaces1)中的错误:无效的'times'参数
PyCharm出现TabError: inconsistent use of tabs and spaces in indentation最简单实用的解决办法