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,这意味着该字符串不是异序词。
结论
这就是我们如何检查给定字符串是否为异序词的方法。