微企业网站模板免费,wordpress快速发文章,免费创建网站软件,微网站免费制作一、题目
实现一个算法#xff0c;确定一个字符串 s 的所有字符是否全都不同。
示例 1#xff1a;
输入: s leetcode
输出: false 示例 2#xff1a;
输入: s abc
输出: true限制#xff1a;
0 len(s) 100 s[i]仅包含小写字母 二…一、题目
实现一个算法确定一个字符串 s 的所有字符是否全都不同。
示例 1
输入: s leetcode
输出: false 示例 2
输入: s abc
输出: true限制
0 len(s) 100 s[i]仅包含小写字母 二、思路解析
这道题我是用位图思想做出来的。
用每⼀个「比特位」代表⼀个字符比特位里面如果是 0 表示这个字符没有出现过。比特位里面的值是 1 表示该字符出现过。
首先题目说了仅包含小写字母那一个 int 类型的 32 位就足够表示了甚至还比 26 位多了一丁点空间不过浪费这点无所谓。
算法实现就是这样了听简短的但代码实现却挺多细节的具体实现请看下面代码 三、完整代码
class Solution {public boolean isUnique(String astr) {int len astr.length();if(len 26){return false;}int bitMap 0;for(int i 0 ; i astr.length() ; i ){int x astr.charAt(i) - a;if(((bitMap x) 1) 1){return false;}bitMap | 1 x;}return true;}
} 以上就是本篇博客的全部内容啦如有不足之处还请各位指出期待能和各位一起进步