C++ 检查字符串是否包含连续字母,并且每个字母仅出现一次

C++ 检查字符串是否包含连续字母,并且每个字母仅出现一次

简介

C++中的字符串是由字符组成的序列,可能是不同的字符,也可能是重复的字符。连续的字符是同时出现且位置差为1的字符。例如,字符a和b是连续的,因为它们同时出现。然而,字符m和o在它们的位置上有2的差,使它们不是连续的。

在本文中,我们将开发一段代码,输入一个字符串,并在字符串中的所有字符都是连续的情况下返回true。让我们看下面的示例来更好地理解这个主题。

示例

示例1 – str – “pqsr”

输出 – 是

在本文中,我们将开发一段代码来提取字符串中的当前字符和上一个字符。然后进一步检查如果字符的位置差非等于1,则返回布尔值false。

语法

sort()

sort(str.begin(), str.end())

C++中的sort()方法用于将字符串中的字符按照从开始到结束的顺序进行排列,以递增顺序排序。

参数

str – 输入字符串

end – 字符串中出现的最后一个字符

begin – 字符串中出现的第一个字符

length()

C++中的length()方法用于计算字符串中的字符数。

str.length()

参数

str – 输入的字符串

步骤

  • 接受输入字符串str。

  • 使用sort()方法对输入字符串进行排序。

  • 使用for循环i进行字符串的迭代。

  • 使用length()方法计算字符串的长度,并将结果存储在len变量中。

  • 使用for循环i对字符串进行迭代。

  • 每次都提取第i个字符和第i-1个字符的区别。

  • 如果这两个字符之间的差异不等于1,则返回布尔值false。

  • 如果所有对应的字符都满足要求,则返回布尔值true。

  • 将这个值以布尔标志res的形式返回。如果其值为true,则打印包含连续字符的字符串。

示例

以下C++代码片段用于输入一个示例字符串,并计算字符串中出现的所有字符是否连续性的:

//including the required libraries 
#include <bits/stdc++.h>
using namespace std;

//function to check of characters consecutive
bool validateString(string str) {

   //length of the string
   int len = str.length();

   // sorting the given string
   sort(str.begin(), str.end());

   // Iterate for every index and
   // check for the condition
   for (int i = 1; i < len; i++) {

      //extract characters at the required pos 
      char ch = str[i];
      char ch1 = str[i-1];
      if (ch-ch1 != 1)
      //in case characters are not consecutive
         return false;
   }
   //if condition holds
    return true;
}

//calling the main method
int main() {

   // 1st example
   string str = "mpon";
   cout << "Input String : " <<str << " \n";
   bool res = validateString(str);
   if (res)
       cout << "Yes, the string contains only consecutive characters\n";
   else
       cout << "No, the string doesn't contain only consecutive characters.\n";
   return 0;
}

输出

Input String − mpon 
Yes, the string contains only consecutive characters

结论

在一个字符串中,不断出现的字符是同时出现的字母。可以通过对字符串进行从开头到结尾的排序来实现。可以轻松比较连续位置上的字符,并检查它们相差多少个位置。这可以用来判断字符串是否连续。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程