【LeetCode OJ 242】Valid Anagram

题目链接:https://leetcode.com/problems/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.

解题思路:分别统计s和t的每个字母的个数,如果均相同则为Anagram。

示例代码:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. package com.test.demo;  
  2. /** 
  3.  * @author 徐剑 
  4.  * @Time 2015-01-18 
  5.  */  
  6. public class Solution  
  7. {  
  8.      public boolean isAnagram(String s, String t)   
  9.      {  
  10.          int[] s_num=fun(s);  
  11.          int[] t_num=fun(t);  
  12.          for(int i=0;i<s_num.length;i++)  
  13.          {  
  14.              if(s_num[i]!=t_num[i])  
  15.              {  
  16.                  return false;  
  17.              }  
  18.          }  
  19.          return true;  
  20.      }  
  21.      /** 
  22.       * 初始化一个长度为26的数组,初始值为0,代表a-z的个数 
  23.       * @param str 
  24.       * @return 
  25.       */  
  26.      private int[] fun(String str)  
  27.      {  
  28.          int num[]=new int[26];  
  29.          for(int i=0;i<str.length();i++)  
  30.          {  
  31.              int k = Integer.valueOf(str.charAt(i)).intValue()-97;  
  32.              num[k]++;  
  33.          }  
  34.          return num;  
  35.      }  
  36. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值