Python 算法判断字符串是否为“序列1@序列2”形式
Python 算法判断字符串是否为'序列1@序列2'形式
本文提供一个 Python 算法,用于判断一个给定字符串是否符合'序列1@序列2'的形式,其中序列2是序列1的逆序,并且字符串中恰好只有一个'@' 字符。
def is_inverse_sequence(str):
stack = []
for char in str:
if char != '@':
stack.append(char)
else:
break
for char in str:
if char != '@':
if not stack or char != stack.pop():
return False
else:
return False
return True if not stack else False
使用这个算法,你可以通过调用 is_inverse_sequence(str) 来判断字符串 str 是否符合形如'序列1@序列2'的形式,其中序列2是序列1的逆序,并且只有一个 '@' 字符。
示例用法:
str1 = 'ab@ba'
str2 = 'abc@cba'
str3 = 'abcd@dcba'
str4 = 'abcd@dcbb'
print(is_inverse_sequence(str1)) # 输出:True
print(is_inverse_sequence(str2)) # 输出:True
print(is_inverse_sequence(str3)) # 输出:True
print(is_inverse_sequence(str4)) # 输出:False
请注意,这里的算法假设输入的字符串 str 包含的字符都是合法的,并且不会出现空字符串的情况。
原文地址: https://www.cveoy.top/t/topic/bmJi 著作权归作者所有。请勿转载和采集!