国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

LeetCode242 Valid Anagram

2019-11-08 19:24:48
字體:
來源:轉載
供稿:網友

題目

Given two strings s and t, write a function to determine if t is an anagram of s.

For example, s = “anagram”, t = “nagaram”, return true. s = “rat”, t = “car”, return false.

Note: You may assume the string contains only lowercase alphabets.

解法

和387題類似,都可以使用統計每個字符出現的個數的方式來比較,只要所有字符出現的次數相同且兩個字符串不行等,則返回true。需要注意的是,根據leetcode的評價標準,兩個空串返回true。

public boolean isAnagram(String s, String t) { int lenS = s.length(); int lenT = t.length(); if (lenS == 0 && lenT == 0) return true; if (lenS == 1 && lenT == 1 && s.equals(t)) return true; if (lenS != lenT) return false; if (s.equals(t)) return false; int[] recordS = new int[26]; int[] recordT = new int[26]; for (int i = 0; i < lenS; i++) { char c1 = s.charAt(i); char c2 = t.charAt(i); int index1 = c1 - 'a'; int index2 = c2 - 'a'; recordS[index1]++; recordT[index2]++; } for (int i = 0; i < 26; i++) if (recordS[i] != recordT[i]) return false; return true; }

擴展

如果需要加入unicode字符,那么上一種方式就不可行,因為小寫字母只有26個,但unicode字符有6萬多個,使用數組來一一對應開銷過大。這時就可以使用hashmap來存儲鍵值對,因為hashmap自動去重,可以參考我的上一篇博客.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南涧| 遂川县| 连州市| 吉木乃县| 扎鲁特旗| 彰化县| 玛曲县| 佛冈县| 永善县| 吴堡县| 阿勒泰市| 旬邑县| 固镇县| 托里县| 商南县| 大名县| 常山县| 吉安县| 巢湖市| 满洲里市| 鄯善县| 宁远县| 秦安县| 新化县| 丽江市| 德江县| 德清县| 潞西市| 中超| 北流市| 乐山市| 博罗县| 玛曲县| 郁南县| 许昌县| 鲜城| 乡宁县| 福泉市| 二手房| 离岛区| 尼玛县|