题目:
代码:python代码偷奸耍滑,无脑replace:
class Solution:
def replaceWords(self, dict: List[str], sentence: str) -> str:
for i in range(0,len(dict)):
s=""+sentence
sentence=sentence.replace(dict[i],'1')
b1=s.split()
b2=sentence.split()
b3=[]
for j in range(0,len(b1)):
if b2[j][0]=='1':
b3.append(dict[i])
else:
b3.append(b1[j])
sentence=b3[0]
for j in range(1,len(b1)):
sentence=sentence+' '+b3[j]
return sentence
当然,正确但超时。
强调:直接使用==吧,不用is了、
题解思路1:
相比于直接使用replace,这里自己仅仅比较从头开始的,就可以通过啦。
题解1代码:
再次折服,
1.把一个列表转化为集合,:
2.字符串值当位置的分割:
3.map() 会根据提供的函数对指定序列做映射。
4.join
这样实现了每次的字符串以空格分隔太妙了吧。
题解思路二:
前缀树之前已经做过了,这样很容易理解如何去做。
构建一个树,每个节点包含3个要素,是否能作为结束点,是否有下一个节点,有下一个节点的话的指针。
2021, 也不算精华题,无非就是字典树懒得写了,暴力也挺好,字典树的时间也不是很优吧~