public boolean isAnagram(String s, String t){int[] record = new int[26];for(int i =0; i < s.length(); i++){
record[s.charAt(i)-'a']++;// 并不需要记住字符a的ASCII,只要求出一个相对数值就可以了}for(int i =0; i < t.length(); i++){
record[t.charAt(i)-'a']--;}for(int count : record){if(count !=0){// record数组如果有的元素不为零0,说明字符串s和t 一定是谁多了字符或者谁少了字符。return false;}}return true;// record数组所有元素都为零0,说明字符串s和t是字母异位词}
二、349. 两个数组的交集
public int[]intersection(int[] nums1,int[] nums2){if(nums1 == null || nums1.length ==0|| nums2 == null || nums2.length ==0){return new int[0];}
Set<Integer> nums1Set = new HashSet();
Set<Integer> resSet = new HashSet();for(int n : nums1){
nums1Set.add(n);}for(int n : nums2){if(nums1Set.contains(n)){
resSet.add(n);}}return resSet.stream().mapToInt(x -> x).toArray();}
三、202. 快乐数
public boolean isHappy(int n){
Set<Integer> record = new HashSet<>();while(n !=1&&!record.contains(n)){
record.add(n);
n =getNextNumber(n);}return n ==1;}
private intgetNextNumber(int n){int res =0;while(n >0){int temp = n %10;
res += temp * temp;
n = n /10;}return res;}
四、1.两数之和
public int[]twoSum(int[] nums,int target){int[] res = new int[2];if(nums == null || nums.length ==0){return res;}
Map<Integer, Integer> map = new HashMap<>();for(int i =0; i < nums.length; i++){int temp = target - nums[i];// 遍历当前元素,并在map中寻找是否有匹配的keyif(map.containsKey(temp)){
res[1]= i;
res[0]= map.get(temp);break;}
map.put(nums[i], i);// 如果没找到匹配对,就把访问过的元素和下标加入到map中}return res;}