检查任意字符串的左移和右移是否会得到给定的字符串

检查任意字符串的左移和右移是否会得到给定的字符串

字符的集合由字符串数据类型表示。它使用字母、数字、符号和空格进行逻辑排列。大多数计算机语言使用单引号或双引号将字符串括起来,以区分它们与其他数据类型。

程序员经常使用字符串来进行一些输入和输出操作,存储和操作文本数据等。字符串的一些常见操作包括拼接(将两个或多个字符串合并)、提取子字符串(获取字符串的一部分)以及在字符串中搜索特定字符或模式。

方法

我们可以使用以下方法来确定字符串的左移和右移结果是否为每个字符串−

方法1. 暴力破解法 −

方法2. 检查子字符串 −

方法1:暴力破解法

使用暴力法,生成输入字符串的所有左移和右移,并将每个字符串与目标字符串进行比较。该方法的时间复杂度,其中n是字符串的长度,为O(n2)。

语法

遍历原始字符串的所有可能的左移和右移,并将它们与给定的字符串进行比较,这是确定任何字符串的左移和右移是否会得到给定字符串的蛮力方法。这种策略的一般语法如下所示−

string_shift_check (original_string, given_string): n = length of original string for int i from 0 to n-1: left shift = original string[i:n] + original string[0:i] right shift = original string[n-i:n] + original string[0:n-i] if left shift == given string or right shift == given string: return True return False 登录后复制