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);
}
}

最新文章

  1. 在ASP.NET Core中使用百度在线编辑器UEditor
  2. vert.x学习(五),用StaticHandler来处理静态文件
  3. Convert.ToInt32,int.Parse,int.TryParse,(int)的区别
  4. [UCSD白板题] Huge Fibonacci Number modulo m
  5. linux 网络通信
  6. iOS奔溃日志总结
  7. PHP利用socket_bind函数切换IP地址采集数据
  8. WordPress FunCaptcha插件跨站脚本漏洞
  9. 不容忽略的——CSS规范
  10. hdu_5791_Two(DP)
  11. ConstraintLayout
  12. mysql 数据可视化操作---Navicat安装及简单使用
  13. 有哪些你不知道的python小工具
  14. PHP获取Linux当前目录下文件并实现下载功能
  15. stm32的swd接口的烧写协议是否公开的呢?
  16. zabbix-3.2.3安装
  17. spark第八篇:与Phoenix整合
  18. jquery移除、绑定、触发元素事件
  19. UVA - 11996 可持久化Treap 维护Hash Ver.2
  20. canvas制作倒计时炫丽效果

热门文章

  1. MarkDown简易教程+语法
  2. 滴滴与Uber都盯上拉美市场!一场惨烈竞争谁能胜出?
  3. ping内网服务器 新
  4. h5-切割轮播图
  5. 面试题:你使用过concurrent包下的那些类?
  6. 编写一段代码,打印一个M行N列的二维数组转置。(交换行和列)
  7. iOS 中的延时操作方法
  8. Java线程——线程之间的数据共享
  9. (函数)P1149 火柴棒等式
  10. kotlin黑马影音项目学习笔记