有两种解决方法。

第一种,从前往后遍历,如果后面的字符与当前的字符相同,就直接跳过,如果不相同,就停止。代码如下:

private String doFilter(String text) {String newText = "";int i = 0;int j = i+1;newText += text.charAt(i);while(j < text.length()){if(text.charAt(i) == text.charAt(j)){j++;}else {i = j;j=i+1;newText += text.charAt(i);}}return newText;}

第二种,是只比较当前字符与前一个字符是否相等,如果相等就删除前一个字符,不相等则直接向下遍历。代码如下:

    private String doFilter2(String text) {StringBuffer newText = new StringBuffer(text);for(int i=1;i<newText.length();i++){if(newText.charAt(i) == newText.charAt(i-1)){newText.deleteCharAt(i-1);i--;}}return newText.toString();}

两种方法的时间复杂度与空间复杂度相同。

转载于:https://www.cnblogs.com/zhangmiao14/p/6379024.html

从一个字符串中剔除连续的字符,只留一个。相关推荐

  1. Java:判断一个字符串中是否存在另一个字符子串以及判断一个字符串中是否存在指定字符

    Java:判断一个字符串中包含指定字符子串,判断一个字符串中存在指定字符 字符串的contains方法可以判断一个字符串中是否存在另一个字符子串,示例如下 String Str = "Hel ...

  2. c与指针 从一个字符串中提取子串_python实现找出来一个字符串中最长不重复子串...

    刚结束的一个笔试题,很简单,不多说简单贴一下具体的实现: #!usr/bin/env python#encoding:utf-8 '''__Author__:沂水寒城功能:找出来一个字符串中最长不重复 ...

  3. 从一个字符串中删除另一个字符串中出现过的字符

    http://blog.csdn.net/walkerkalr/article/details/39001155 定义一个函数,输入两个字符串,从第一个字符串中删除在第二个中出现过的所偶字符串.例如从 ...

  4. Java判断一个字符串中是否包含中文字符工具类

    Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比 ...

  5. 求一个字符串中连续出现次数最多的子串

    http://blog.csdn.net/imcdragon/article/details/6838565解答二 http://hi.baidu.com/icyday315/item/040aada ...

  6. 求一个字符串中连续出现的次数最多的子串

    求一个字符串中连续出现的次数最多的子串.例如字符串"abababc",最多连续出现的为ab,连续出现三次.要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复 ...

  7. 判断一个字符串中的字符是否唯一

    http://www.cricode.com/254.html 实现一个算法来判断一个字符串中的字符是否唯一(即没有重复).不能使用额外的数据结构. (即只使用基本的数据结构) 首先,你可以问面试官, ...

  8. java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...

    延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...

  9. Java黑皮书课后题第6章:*6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数。编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符出现次数

    6.23(指定字符的出现次数)使用下面的方法头编写一个方法,找到一个字符串中指定字符的出现次数.编写一个测试程序,提示用户输入一个字符串以及一个字符,显示该字符出现次数 题目 题目描述 破题 代码 运 ...

最新文章

  1. MOS管击穿原因和防护措施!
  2. zoj 3329 概率dp
  3. Node.js做的代理转发服务器
  4. 甲骨文将Exadata Cloud转化为内部软件包
  5. 分析java程序的命令总结jps,jstack
  6. 浅谈:云桌面在我国高校的应用前景
  7. mybatis中的SqlMapConfig.xml配置文件基本使用
  8. 信标链 分片链 是什么?
  9. 对机器学习实战第二章内容的思考
  10. opencv鼠标事件和滑条操作
  11. 计算机科学与技术光学成像专业,光信息科学与技术专业就业方向有哪些
  12. nn.Linear()函数详解
  13. 服务器系统部署方案,系统部署方案.doc
  14. 【lwIP(第一章)】lwIP入门
  15. Mac上安装mysql及密码重置
  16. 通达OA远程代码执行漏洞通告
  17. [普及练习场] 生活大爆炸版石头剪刀布
  18. 实验一段有趣的js代码。
  19. .NET笔记系列:LAMBDA表达式常用写法
  20. imx6平台video简介(一)

热门文章

  1. 5款最适合新手的包管理器
  2. Train Problem I(模拟栈)
  3. Zabbix server is not running 报错的排查
  4. [Android Studio] Android Studio如何查看branch列表及切换branch(转载)
  5. 解决方案 | tensorflow安装慢解决方案
  6. iQOO3Android11稳定版,vivo安卓11来了iQOO3 NEX3S尝鲜Androi11测试版!
  7. Nacos源码DistroConsistencyServiceImpl
  8. json字符串中key值下划线命名转换为驼峰命名
  9. SpringMVC的请求-文件上传-文件上传的原理
  10. 单例-单例设计模式代码实现