# 1.判断一字符串是不是对称的,如:abccba
def is_symmetrical(str):
length = len(str)
for index in range(length / 2):
if str[index] == str[length - index - 1]:
pass
else:
return False
return True
if __name__ == "__main__":
print is_symmertrical("abcdcba"),
print is_symmertrical("abccaa"),
运行结果: True False
# 2.用递归的方法判断整数组a[N]是不是升序排列
# index初始化为1
def is_asc(sequence, index):
if index > len(sequence) - 1:
return True
if sequence[index] > sequence[index - 1]:
return is_asc(sequence, index + 1)
return False
if __name__ == "__main__":
sequence1 = [1, 100, 100, 200]
print is_asc(sequence1, 1),
sequence2 = [1, 100, 101, 500]
print is_asc(sequence2, 1),
运行结果: False True
分享到:
相关推荐
在C++中,我们可以使用两个指针,一个从字符串开始,另一个从末尾开始,比较它们所指向的字符是否相同,以此来判断一个字符串是否是对称的。 接下来,我们考虑如何按长度排列这些对称串。这个问题可以通过先对所有...
这个算法通过两层嵌套循环遍历字符串的所有可能的子串,然后用一个辅助函数 `IsSymmetrical` 来判断子串是否对称。`IsSymmetrical` 函数通过比较子串的首尾字符,逐次向内移动指针直到它们相遇或不匹配。这种方法...
回文串是字符串处理中的一个重要概念,它是指一个正读反读都能读通的字符串,比如"上海自来水来自海上"、"abccba"等。在编程领域,回文串的判断、查找和生成等操作常常被用作面试题或者算法练习,涉及到字符串的基本...
总之,这个压缩文件中的示例可能提供了一种创新的方式,使用链表数据结构来解决字符串对称性的判断问题。如果你对链表操作和字符串处理感兴趣,或者正在学习这些主题,这个资源可能是一个很有价值的学习材料。
3. **双指针技术**:对于简单判断一个字符串是否为回文的题目,可以使用两个指针,一个从字符串头部开始向后移动,另一个从尾部开始向前移动,比较两个指针指向的字符是否相同,直到它们相遇或发现不匹配的字符。...
镜像子串是指中心对称的字符串,如“abcba”。 **知识点解析:** 1. **字符串操作**:涉及到字符串的基本操作,如 `charAt()` 获取指定位置的字符,`substring()` 截取子串等。 2. **循环结构**:利用循环遍历字符...
第二个编程任务是利用链栈判断给定的字符串是否为回文。回文是指从左到右读和从右到左读都相同的字符串,例如"abcba"和"abccba"。这个问题可以通过以下步骤解决: 1. 定义一个链栈`stack`的栈顶指针`SNode *stack`...
回文串是一个字符串,从左到右读和从右到左读完全相同,例如"madam"、"level"或"abccba"。在给定的问题中,我们需要找到一个包含大写字母和小写字母的字符串所能构成的最长回文串。题目明确指出,在构建回文串时要...
Manacher算法是一种用于求解字符串中最长回文子串的高效算法,由Edmund L. Manacher在1975年提出。该算法利用了回文串的对称性,将时间复杂度降低到了O(N),其中N是字符串的长度。在传统的暴力解法中,我们需要以每...