Leetcode819:最常见的单词(python)

题目描述:

代码1:

class Solution:
    def mostCommonWord(self, paragraph, banned):
        """
        :type paragraph: str
        :type banned: List[str]
        :rtype: str
        """
        list1=[]
        listout=[]
        paragraph=paragraph.lower()
        for i in paragraph:
            if(not i.isalpha() and i!=' '):
                paragraph=paragraph.replace(i,'')
                #paragraph.lower()
        list1=paragraph.split()
        length=len(list1)
        k=0
        while(k

总结:

                paragraph=paragraph.replace(i,'')
                #paragraph.lower()
这两句代码的作用完全不同,因为单纯的一句
paragraph.lower()

并不会改变paragaph。

另外需要注意的是,在使用循环更新list(pop,append等)时需要注意,list的长度改变而循环边界条件并未改变可能会引起越界报错。如:

length=len(list1)
for i in list1
     if(i=="0"):
     list1.pop(i) 
由于length还是之前list的长度,循环的上界超出了更新后的list 的长度,所以会发生越界。

你可能感兴趣的:(Leetcode)