LeetCode 242. Valid Anagram (验证变位词)
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.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
题目标签:Hash Table
题目给了我们两个string, 让我们判断它们是不是变位词。
方法1:可以利用HashMap 来记录string s 的字母,和数量,接着用t 的字母和数量 来验证。
方法2:可以把两个string 变为 char array,接着sort 两个array,比较它们是不是一致。
Java Solution 1:
Runtime beats 18.65%
完成日期:05/27/2017
关键词:HashMap
关键点:利用HashMap来存入s,用t 来验证
class Solution
{
public boolean isAnagram(String s, String t)
{
/* Solution 1: HashMap */
HashMap<Character, Integer> map = new HashMap<>(); // first time: store each s char and occurrence into map
for(int i=0; i<s.length(); i++)
{
char sChar = s.charAt(i);
map.put(sChar, map.getOrDefault(sChar, 0) + 1);
}
// second time: compare t char with map to see match or not
for(int i=0; i<t.length(); i++)
{
char tChar = t.charAt(i); if(!map.containsKey(tChar))
return false; if(map.get(tChar) == 1)
map.remove(tChar);
else
map.put(tChar, map.get(tChar) - 1); } return map.size() == 0 ? true : false;
}
}
Java Solution 2:
Runtime beats 28.32%
完成日期:05/27/2017
关键词:Sort
关键点:把s 和t 都转化为char array,然后sort
class Solution
{
public boolean isAnagram(String s, String t)
{
/* Solution 2: sort */
if(s.length() != t.length() || s == null || t == null)
return false; char[] s_arr = s.toCharArray(); Arrays.sort(s_arr); char[] t_arr = t.toCharArray(); Arrays.sort(t_arr); for(int i=0; i<s.length(); i++)
{
if(s_arr[i] != t_arr[i])
return false;
} return true; }
}
参考资料:N/A
LeetCode 题目列表 - LeetCode Questions List
LeetCode 242. Valid Anagram (验证变位词)的更多相关文章
- [leetcode]242. Valid Anagram验证变位词
		
Given two strings s and t , write a function to determine if t is an anagram of s. Example 1: Input: ...
 - [LeetCode] 242. Valid Anagram 验证变位词
		
Given two strings s and t , write a function to determine if t is an anagram of s. Example 1: Input: ...
 - [LeetCode] Valid Anagram 验证变位词
		
Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = & ...
 - 22. leetcode 242. Valid Anagram(由颠倒字母顺序而构成的字)
		
22. 242. Valid Anagram(由颠倒字母顺序而构成的字) Given two strings s and t, write a function to determine if t i ...
 - LN : leetcode 242 Valid Anagram
		
lc 242 Valid Anagram 242 Valid Anagram Given two strings s and t, write a function to determine if t ...
 - Leetcode 242. Valid Anagram(有效的变位词)
		
Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = & ...
 - LeetCode 242 Valid Anagram
		
Problem: Given two strings s and t, write a function to determine if t is an anagram of s. For examp ...
 - (easy)LeetCode  242.Valid Anagram
		
Given two strings s and t, write a function to determine if t is an anagram of s. For example,s = &q ...
 - Java [Leetcode 242]Valid Anagram
		
题目描述: Given two strings s and t, write a function to determine if t is an anagram of s. For example, ...
 
随机推荐
- PyCharm使用指南及更改Python pip源为国内豆瓣
			
PyCharm基本使用 1.在PyCharm下为python项目配置python本地解释器 setting-->Project:pycharm workspace-->Project In ...
 - CentOS7上安装稻壳CMS
			
CentOS7上安装稻壳CMS 1, 安装用途 为了给某公司建设一个小型网站,租用了一个阿里云ECS服务器,最基础的硬件配置,因此选择了CentOS7操作系统. 稻壳CMS(docCMS)源于深喉咙C ...
 - daxcie
			
Database->Edit Current DBMS菜单 修改如下:选中General选项卡,依次打开Script->Sql->Fomat->CaseSensitivityU ...
 - sql常用手法(二)
			
drop,TRUNCATE和delete的区别 1.DROP删表,表结构将删了,当然数据也不存在了2.TRUNCATE和DELETE删数据,表结构还在3.DELETE可以带条件删除,TRUNCATE是 ...
 - Java基础——异常
			
一.什么是异常 异常的英文单词是exception,字面翻译就是“意外.例外”的意思,也就是非正常情况.事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误.比如使用空的引用.数组下标越界. ...
 - 2018NOIP普及T4---对称二叉树
			
题目 对称二叉树 题目描述 思路 检查是否符合对称条件 条件很简单——结构对称&&点权对称 要做到点权对称其实也就顺便结构对称了 于是条件可以简化为点权对称 可以考虑并行搜索 bo ...
 - Coin Toss(uva 10328,动态规划递推,限制条件,至少转至多,高精度)
			
有n张牌,求出至少有k张牌连续是正面的排列的种数.(1=<k<=n<=100) Toss is an important part of any event. When everyt ...
 - Sturts2中Action的搜索顺序
			
http://localhost:8080/ProjectName/path1/path2/path3/XX.action 首先会判断以/path1/paht2/path3为namespace的pac ...
 - python爬虫25 | 爬取下来的数据怎么保存? CSV 了解一下
			
大家好 我是小帅b 是一个练习时长两年半的练习生 喜欢 唱! 跳! rap! 篮球! 敲代码! 装逼! 不好意思 我又走错片场了 接下来的几篇文章 小帅b将告诉你 如何将你爬取到的数据保存下来 有文本 ...
 - gnuplot examples
			
xy plot #set terminal jpeg #set output 'alfa.jpg' set terminal postscript eps font 24 set out 'U_vs_ ...