判断字符是否唯一

该篇博客介绍了一个算法问题,即如何判断一个字符串中的所有字符是否互不相同。通过两种不同的方法进行了解决:一种是使用桶计数法,时间复杂度为O(n);另一种是通过双层循环遍历,时间复杂度为O(n^2)。并提供了相应的代码示例。
摘要由CSDN通过智能技术生成

实现一个算法,确定一个字符串 s 的所有字符是否全都不同。(题目来源于力扣)
示例:
输入: s = “leetcode”
输出: false
输入: s = “abc”
输出: true
首先看到题目的时候我想到了两个办法:
第一种是类似于桶的方法:用0-25来表示a-z所在的位置,字符串中哪个字母出现了就给对应位置的++,即将book[26]全部置为0,例如a每出现一次就将book[0]++,b每出现一次就将book[1]++,最后判断如果book[i]==0或者book[i]==1,返回true,否则返回false.其时间复杂度为O(n)
代码如下:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
bool isUnique(char* astr)
{
   
	int book[26];
	for(int i=0;i<26;i++)
	{
   
		book[i]=0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值