首页 > 其他 > 详细

[Algo] 281. Remove Spaces

时间:2020-02-16 10:48:39      阅读:68      评论:0      收藏:0      [点我收藏+]

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”

Solution 1:

public class Solution {
  public String removeSpaces(String input) {
    // Write your solution here
    int i = 0;
    int slow = 0;
    int count = 0;
    int len = input.length();
    char[] charArr = input.toCharArray();
    while(true) {
      while (i < len && charArr[i] == ‘ ‘) {
        i += 1;
      }
      if (i == len) {
        break;
      }
      if (count > 0) {
        charArr[slow++] = ‘ ‘;
      }

      while (i < len && charArr[i] != ‘ ‘) {
        charArr[slow++] = charArr[i++];
      }
      count += 1;
    }
    return new String(charArr, 0, slow);
  }
}

 

Solution 2:

public class Solution {
  public String removeSpaces(String input) {
    // Write your solution here
    int slow = 0;
    char[] charArr = input.toCharArray();
    for (int i = 0; i < charArr.length; i++) {
      if (charArr[i] == ‘ ‘ && (i == 0 || charArr[i - 1] == ‘ ‘)) {
        continue;
      }
      charArr[slow++] = charArr[i];
    }
    if (slow > 0 && charArr[slow - 1] == ‘ ‘) {
      return new String(charArr, 0, slow - 1);
    }
    return new String(charArr, 0, slow);
  }
}

 

[Algo] 281. Remove Spaces

原文:https://www.cnblogs.com/xuanlu/p/12315638.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!