入门级编程通关练习题 #9 – 匹配字符串

给定一个字符串,里面的字符都是由括号组成:()、[ ]、{ }。检查这个字符里面的括号是否匹配,譬如字符串 ”[ ( ) ] { }“ 是匹配的,而字符串”] [ “是不匹配的。 输入样例: "[({})](]" 输出样例: False 算法思路: 这是典型使用stack数据类型的练习题。每次拿到一个括号,可以和栈顶的字符进行匹配。能够匹配的一对括号就可以消去,如果不能匹配或者栈内为空则压栈。最后栈内如果还有剩余括号表明该字符串里面的括号不匹配,如果为空则表明匹配。

入门级编程通关练习题 #7 – Anagram字谜

两个字符串如果都是由同样的字母组成的,就可以称为一对Anagrams,譬如"aabbc" 和 ”cabab“就是如此。 给定一个目标字符串,和一组字符串数列,用目标字符串去检查数列里的每一个字符串,看看是否和目标字符串是Anagram字谜。 输入样例: word = "data", words = ["tdaa", "atdt", "dddaa", "daata", "aadt", "ddta", "taad"] 输出样例: ['tdaa', 'aadt', 'taad'] 算法思路 方法一:使用函数 sorted 加列表推导式。方法二:使用函数 filter 加匿名函数。方法三:暴力破解,使用for循环来逐一对比。

入门级编程通关练习题 #6 – 字符回音

给定一个字符串,从第一个字母开始,每个字母重复的次数和它的位置相同,重复的字母第一个大写,后面小写,不同字母之间用 - 分隔开。 输入样例: abcdefg 输出样例: A-Bb-Ccc-Dddd-Eeeee-Ffffff-Ggggggg 算法思路: 方法一:使用字符串函数 join,lower,upper 加列表推导式。方法二:使用字符串函数 join,title 加列表推导式。方法三:暴力破解,使用for循环逐一处理。