LeetCode||有效的字母异位词(排列)--给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词

原题链接:https://leetcode-cn.com/problems/valid-anagram

题目描述:

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

示例 2:

输入: s = "rat", t = "car"
输出: false

说明:
你可以假设字符串只包含小写字母。

解析:

首先,我们要了解什么是字母异位词

口水话就是长度一样,所含一样的字母就是字母异位词,由这个思路我们知道,长度不一样那么直接pass,这是一个前提,长度一样才能进行下面的判断。之后就是我们如何判断所含字母一样呢?,我的想法是用数组,然后进行排列,把他们排列的结果一一对比就行了。

数组排列的方法为 Arrays.sort(s),转化数组的方法为 toCharArray(s);数组的比较方法为Arrays.equals(s,t);

有了以上的方法我们做题目就得心应手了

实现代码

class Solution {
    public boolean isAnagram(String s, String t) {
        
        char[] ss = s.toCharArray();//将s字符串转换为数组
        char[] tt = t.toCharArray();//将t字符串转换为数组
        
        if(ss.length != tt.length) return false;//长度不等,直接pass
        
        Arrays.sort(ss);//排列组合
        Arrays.sort(tt);
        
        return Arrays.equals(ss,tt);//看他们各自拼接的组合有无相等的可能
        
    }
}

输出:

LeetCode||有效的字母异位词(排列)--给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词_第1张图片

LeetCode||有效的字母异位词(排列)--给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词_第2张图片

你可能感兴趣的:(LeetCode)