为了账号安全,请及时绑定邮箱和手机立即绑定

Leetcode 242, 关于数组递增和遍历的一点问题

Leetcode 242, 关于数组递增和遍历的一点问题

FFIVE 2019-02-20 15:45:32
public class Solution {public boolean isAnagram(String s, String t) { if(s.equals(t)) return true; if(s==null||t==null||s.length()!=t.length()) return false; int[] num=new int[26]; for(int i=0;i<s.length();i++){ num[s.charAt(i)-'a']++; num[t.charAt(i)-'a']--; } for(int i:num ){ if(i!=0) return false; } return true; } 这是用来判断两个字符串s和t是否是变形词的问题,例如abc和bca是变形词, abc和adw不是变形词。 for(int i=0;i<s.length();i++){ num[s.charAt(i)-'a']++; num[t.charAt(i)-'a']--; } for(int i:num ){ if(i!=0) return false; 关于这段代码有点小疑问,num[]++和num[]--代表着什么? 如果只写 - 'a'的话,又如何记录26个字母在每个字符串中出现的个数呢?
查看完整描述

1 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

num[s.charAt(i)-'a']++;代表s中该字母的频数加1;
num[t.charAt(i)-'a']--;代表t中该字母的频数减1;
当s和t中所有字母频数相同时即为变形词。

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 342 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信