面试题 01.01. 判定字符是否唯一

本文介绍了如何实现一个算法来检查字符串中的所有字符是否都不同。通过使用HashSet或set数据结构,遍历字符串并添加字符到集合中,最后比较集合长度与字符串长度,判断字符是否全不相同。示例代码分别展示了Java和Python的实现方式。
摘要由CSDN通过智能技术生成

本文旨在对于个人知识的梳理以及知识的分享,如果有不足的地方,欢迎大家在评论区指出


题目描述

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。
示例1:

输入: s = "leetcode"
输出: false 

示例2:

输入: s = "abc"
输出: true

限制:

  • 0 < = l e n ( s ) < = 100 0 <= len(s) <= 100 0<=len(s)<=100
  • 如果你不使用额外的数据结构,会很加分。
题目链接
题目分析

这道题直观的思路就是我们可以找到一个可以去重的数据结构,然后比较该数据结构中存储的数据个数与原本字符串之间的大小关系就可以了

解题代码

Java

class Solution {
    public boolean isUnique(String astr) {
        int n = astr.length();
        Set<Character> set = new HashSet<Character>();
        for(int i=0; i<n; i++) set.add(astr.charAt(i));
        return set.size() == astr.length();
    }
}
class Solution:
    def isUnique(self, astr: str) -> bool:
        cur = set(astr)
        return len(cur) == len(astr)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值