Unique characters
算法思想:先初始化一个数组,然后循环取出字符,将下标为此字符的ASCII值的位置设为true,如果将要存储的下标已经是true,则证明有重复的字符了,返回false。
public class Solution {
/*
* @param str: A string
* @return: a boolean
*/
public boolean isUnique(String str) {
// write your code here
boolean[] char_set=new boolean[256];
for (int i=0; i<str.length(); i++)
{
int val=str.charAt(i);
// char_set[val]=true;
if (char_set[val])
{
return false;
}
char_set[val]=true;
}
return true;
}
}
难点:if (char_set[val]) { return false; } char_set[val]=true;
知识点补充:boolean[] char_set=new boolean[1];
char_set初始值为null,当给char_set赋值时,可以表示为char_set[0]=true
或者char_set[1]=false
这时char_set[0]和char_set[1]的值就为true和false