likes
comments
collection
share

算法题每日一练---第50天:判断字符是否唯一

作者站长头像
站长
· 阅读数 34

一、问题描述

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

题目链接:判断字符是否唯一

二、题目要求

样例 1

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

样例 2

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

考察

1.字符串应用,位运算中等题型
2.建议用时15~35min

三、问题分析

本题是位运算的第5题,没了解过位运算相关知识点可以看这一篇文章,讲解比较详细:

1.字符串

一开始,我看这一题属实没想到字符如何与位运算的相关知识点结合起来。

要判断是否唯一,只要进行下述两步操作:

1.字符串中单个字母存入k
2.字符串寻找是否包含除了当前位置的k

2.位运算

算法题每日一练---第50天:判断字符是否唯一

就像这道题后面的题解一样,位运算对于这一题来说,显得不是很有优势。代码也显得难懂,所以位运算的代码我就不写了,躺平了。

算法题每日一练---第50天:判断字符是否唯一

四、编码实现

class Solution {
public:
    bool isUnique(string astr) {
        string k;//中间变量k
        int i,n=astr.size();//初始化定义
        for(i=0;i<n;i++)//for循环
        {
            k=astr[i];//赋值
            if(astr.find(k)==astr.rfind(k))//判断还有没有重复的元素
            {
                return false;//返回 错误
            }
        }
        return true;//返回 正确

    }
};

五、测试结果

算法题每日一练---第50天:判断字符是否唯一

算法题每日一练---第50天:判断字符是否唯一

转载自:https://juejin.cn/post/7073251529414672392
评论
请登录