位运算与面试题 01.01. 判定字符是否唯一

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

输入: s = “leetcode”
输出: false

示例 2:

输入: s = “abc”
输出: true

限制:

  • 0 <= len(s) <= 100
  • 如果你不使用额外的数据结构,会很加分。

Java toCharArray( )方法

功能:将字符串转换为字符数组

语法:public char[ ] toCharArray( )

参数:无

返回值:字符数组

public class Test {
    public static void main(String args[]) {
        String Str = new String("www.runoob.com");

        System.out.print("返回值 :" );
        System.out.println( Str.toCharArray() );
    }
}

返回值 :www.runoob.com


for (char c : astr.toCharArray())
相当于:

char[] cs = s.toCharArray(); 
for(int i=0;i<cs.length;i++){ 
	char c = cs[i]; 
} 

java位运算题解:

  public boolean isUnique(String astr) {
        long low64 = 0;
        long high64 = 0;

        for (char c : astr.toCharArray()) {
            if (c >= 64) {
                long bitIndex = 1L << c - 64;
                if ((high64 & bitIndex) != 0) {
                    return false;
                }

                high64 |= bitIndex;
            } else {
                long bitIndex = 1L << c;
                if ((low64 & bitIndex) != 0) {
                    return false;
                }

                low64 |= bitIndex;
            }

        }

        return true;
    }

你可能感兴趣的:(leecode)