A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 无云 中级黑马   /  2015-8-31 00:32  /  274 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class QuChong {
    public static void main(String[] arg) {
        Qu("abcddedddabc");// 结果是 abcde
    }

    /**
     * 1、定义一个StringBuffer
     * 2、s.charAt(i)遍历、比较
     * 3、利用indexOf()跟LastindexOf()推断相同字符
     *
     *
     */
    public static void Qu(String s) {
        StringBuffer sb = new StringBuffer();
        int len = s.length();
        int i = 0;
        boolean flag = false;

        for (i = 0; i < len; i++) {
            char c = s.charAt(i);

            if (s.indexOf(c) != s.lastIndexOf(c)) {
                flag = false;
            }else{
                flag = true;
            }
            if(i==s.indexOf(c))
                flag=true;
            if (flag) {
                sb.append(c);
            }
        }
        System.out.print(sb.toString());
    }
}

3 个回复

倒序浏览
要写注释的啊
回复 使用道具 举报
看不懂你写的,表述不清
回复 使用道具 举报
可以用正则表达式,更简单的哟!
  1. String reg = "(?s)(.)(?=.*\\1)";
  2.                 String str = "aabbdedsljslfjlabd";
  3.                 str = str.replaceAll(reg, "");
  4.                 System.out.println(str);
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马