Swift程序:检查给定字符串是否为异序词


异序词字符串是指其中没有哪个字母出现超过一次的字符串。例如,“Sky with cloud”就是一个异序词,因为字符串中每个字母只出现一次。而“colorful balloons”则不是异序词,因为字符串中某些字母,如o、u、l等,出现了多次。在这里,我们将使用Swift编程语言执行不同的示例,以检查给定的字符串是否为异序词。

算法

  • 步骤1 - 创建一个函数。

  • 步骤2 - 从字符串中删除空格。

  • 步骤3 - 创建一个单独的数组来存储输入字符串中存在的所有字母。

  • 步骤4 - 将数组转换为集合以存储唯一元素。

  • 步骤5 - 如果集合的长度等于输入字母的数量,这意味着每个字母只出现一次,则该集合为异序词;否则不是。

  • 步骤6 - 创建一个字符串并将其传递到函数中。

  • 步骤7 - 打印输出。

示例1

以下Swift程序用于检查给定字符串是否为异序词。

import Foundation
import Glibc

// Function to check if the given string is heterogram or not
func CheckHeterogram(str: String) -> Bool {
   // Remove the white spaces from the string
   let nStr = str.replacingOccurrences(of: " ", with: "")
   var set = Set<Character>()
   for c in nStr {
      if set.contains(c) {
         return false
      } else {
         set.insert(c)
      }
   }
   return true
}

// Test case 1
let myString1 = "I love Ma"
print("Is String-'\(myString1)' is a Heterogram?:", CheckHeterogram(str: myString1)) 

// Test case 2
let myString2 = "My sheep color is black"
print("Is String-'\(myString2)' is a Heterogram?:", CheckHeterogram(str: myString2))

输出

Is String-'I love Ma' is a Heterogram?: true
Is String-'My sheep color is black' is a Heterogram?: false

在上面的代码中,我们创建了一个名为CheckHeterogram()的函数。在这个函数中,我们使用集合来跟踪遇到的字符。然后遍历输入字符串的每个字符,并检查该字符是否已存在于集合中。如果此函数返回false,则意味着该字符串不是异序词。如果函数遍历整个字符串而没有找到任何重复项,则返回true,这意味着该字符串是异序词。

示例2

以下Swift程序用于检查给定字符串是否为异序词。

import Foundation
import Glibc

// Function to check if the given string is heterogram or not
func CheckHeterogram(str: String) -> Bool {
   let nStr = str.replacingOccurrences(of: " ", with: "")
   let lString = nStr.lowercased()
   let charArray = Array(lString)
   let uniqueChars = Set(charArray)
   return uniqueChars.count == charArray.count
}

// Test case 1
let myString1 = "Hey Suman"
print("Is String-'\(myString1)' is a Heterogram?:", CheckHeterogram(str: myString1)) 

// Test case 2
let myString2 = "I love Cooking Food"
print("Is String-'\(myString2)' is a Heterogram?:", CheckHeterogram(str: myString2))

输出

Is String-'Hey Suman' is a Heterogram?: true
Is String-'I love Cooking Food' is a Heterogram?: false

在上面的代码中,我们有两个输入字符串。现在,我们创建一个函数来检查给定的字符串是否为异序词。在这个函数中,我们首先将输入字符串转换为小写,然后从字符串中创建一个字符数组,然后将数组转换为包含唯一字符的集合。现在,如果uniqueChar计数等于characterArray计数,则此函数返回true,这意味着该字符串是异序词。如果uniqueChar计数不等于characterArray计数,则此函数将返回false,这意味着该字符串不是异序词。

结论

这就是我们如何检查给定字符串是否为异序词的方法。

更新于:2023年2月8日

浏览量:163

开启你的职业生涯

完成课程获得认证

开始学习
广告