美文网首页
242. 有效的字母异位词

242. 有效的字母异位词

作者: spark打酱油 | 来源:发表于2022-07-29 22:09 被阅读0次

    1.题目

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

    注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

    示例 1:

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

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

    提示:

    1 <= s.length, t.length <= 5 * 104
    s 和 t 仅包含小写字母

    2.思想

    2.1 双指针 + 排序方法

    先进行排序,

    • 长度不相等就返回false
    • 排序之后双指针进行一 一对字符进行比较,有一个字符不相等就返回false

    3.代码

    def isAnagram(s: String, t: String): Boolean = {
        import java.util
         val charArray1: Array[Char] = s.toCharArray
         val charArray2: Array[Char] = t.toCharArray
         util.Arrays.sort(charArray1)
         util.Arrays.sort(charArray2)
        var i = 0
        var j = 0
       while (i<=charArray1.length-1 && j<=charArray2.length-1){
          if(charArray1.length!=charArray2.length||charArray1(i)!=charArray2(j))  return false
          else {
            i=i+1
            j=j+1
          }
       }
       return true
      }
    

    3.1复杂度

    • 时间复杂度O(n)
    • 空间复杂度O(1)

    相关文章

      网友评论

          本文标题:242. 有效的字母异位词

          本文链接:https://www.haomeiwen.com/subject/vfzqwrtx.html