leecode-1 判断字符是否唯一

2020-10-10  本文已影响0人  劝君莫听雨
题目.png

思路1

运用ASC||码值,小写的a对应的ASCII码值为97;后面依次增加(A对应的ASC||码值为65)。
定义一个数组,记录每一个字符出现的次数,(数组下标为字符ASC||码-65)
若数组相应位置存储的值>1,则字符重复出现,return false;

public static boolean isUnique(String astr) 
    {
int [] count = new int [100];
        
        char [] ac = astr.toCharArray();
        
        for(char temp: ac) {
            count[temp-65]+=1;
        }
        
        for(int i: count) 
            if(i>1) return false;

        return true;
    }
}

思路2

利用HashSet去重,判断利用Set存储的长度与原字符串的长度是否一致;
若<原长度,则出现重复了

 public boolean isUnique(String astr) {
     Set set = new HashSet();
        for (int i = 0; i <astr.length() ; i++) {
            set.add(astr.charAt(i));
        }
        return set.size() == astr.length(); 
    }
上一篇下一篇

猜你喜欢

热点阅读