前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >判断字符串是否没有重复元素

判断字符串是否没有重复元素

作者头像
一份执着✘
发布2018-06-04 16:37:50
1.4K0
发布2018-06-04 16:37:50
举报
文章被收录于专栏:赵俊的Java专栏赵俊的Java专栏

题意

实现一个算法确定字符串中的字符是否均唯一出现

样例

给出 "abc",返回 true

给出 "aab",返回 false

思路

解法一:可以利用查表法,首先建立一个大小为 256 位的布尔类型的数组,因为 ASCII 表中一共就有 256 的字符,依次取字符串中的每一个位,将其在 ASCII 表中的位置放到数组中,True 表示该字符已存在,Flase 则表示该字符不存在。

解法二:不利用额外空间的话,就将当前位与剩余位依次进行比较才能实现,比较消耗时间。

代码实现

解法一

代码语言:javascript
复制
public class Solution {
    /**
     * @param str: a string
     * @return: a boolean
     */
    public boolean isUnique(String str) {
        if (str == null)
            return false;
            
        boolean[] char_set = new boolean[256];
        for (int i = 0; i < str.length(); i++) {
            int var = str.charAt(i);
            if (char_set[var])
                return false;
            char_set[var] = true;
        }
        
        return true;
    }
}

解法二:

代码语言:javascript
复制
public class Solution {
    /**
     * @param str: a string
     * @return: a boolean
     */
    public boolean isUnique(String str) {
        if (str == null || str.length() == 0)
            return false;
            
        for (int i = 0; i < str.length(); i++) {
            for (int j = i + 1; j < str.length(); j++) {
                if (str.charAt(i) == str.charAt(j))
                    return false;
            }
        }
        
        return true;
    }
}

原题地址

LintCode:判断字符串是否没有重复字符

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题意
  • 样例
  • 思路
  • 代码实现
    • 解法一
      • 解法二:
      • 原题地址
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档