美文网首页
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