题目描述1:替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
Python代码实现:
// An highlighted block
class Solution:
# s 源字符串
def replaceSpace(self, s):
# write code here
s = list(s)
# print("s: ", s)
count=len(s)
# print("count: ", count)
for i in range(0,count):
if s[i]==' ':
s[i]='%20'
return ''.join(s)
if __name__ == "__main__":
a = Solution()
target = "We Are Happy"
print(a.replaceSpace(target))
题目描述2:正则表达式匹配
请实现一个函数用来匹配包括’.‘和’ * ‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’ * '表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab * ac * a"匹配,但是与"aa.a"和"ab*a"均不匹配。
Python代码测试:
// An highlighted block
class Solution:
def match(self, s, pattern):
if (len(s) == 0 and len(pattern) == 0):
return True
if (len(s) > 0 and len(pattern) == 0):
return False
if (len(pattern) > 1 and pattern[1] == '*'):
if (len(s) > 0 and (s[0] == pattern[0] or pattern[0] == '.')):
return (self.match(s, pattern[2:]) or self.match(s[1:], pattern[2:]) or self.match(s[1:], pattern))
else:
return self.match(s, pattern[2:])
if (len(s) > 0 and (pattern[0] == '.' or pattern[0] == s[0])):
return self.match(s[1:],pattern[1:])
return False
if __name__ == "__main__":
a = Solution()
s = "aaa"
pattern = "ab*ac*a"
data = a.match(s, pattern)
print(data)
题目描述3:表示数值的字符串
请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。
Python代码测试:
// An highlighted block
class Solution:
def isNumeric(self, s):
try:
p = float(s)
return True
except:
return False
if __name__ =="__main__":
a = Solution()
b = "12e"
print(a.isNumeric(b))
题目描述4:字符流中第一个不重复的字符
请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符"go"时,第一个只出现一次的字符是"g"。当从该字符流中读出前六个字符“google"时,第一个只出现一次的字符是"l"。
输出描述:
如果当前字符流没有存在出现一次的字符,返回#字符。
Python代码测试:
// An highlighted block
def find_str(arr):
dic={}
for i in range(len(arr)):
print("i: ", i)
if arr[i] in dic:
dic[arr[i]]+=1
else:
print(dic)
dic[arr[i]]=1
for i in range(len(arr)):
if dic[arr[i]]==1:
return arr[i]
if __name__ == '__main__':
arr=input("input:")
print(find_str(arr))
https://blog.csdn.net/weixin_42153985/article/details/80277761
相关知识点回顾:
总结:
替换空格:
https://blog.csdn.net/qq_38441207/article/details/88635326
正则表达式匹配:
https://blog.csdn.net/qq_38441207/article/details/88781517
表示数值的字符串:
https://blog.csdn.net/qq_38441207/article/details/88816455
字符流中第一个不重复的字符:
https://blog.csdn.net/qq_38441207/article/details/88816497