Day27

作者: wendy_要努力努力再努力 | 来源:发表于2017-12-05 10:44 被阅读0次
  1. Reverse String
    思路:主要是彻底弄清楚string类型和list类型的异同点。
    相同点:都是序列型数据,可以s[0]输出字符串的第一个字母,list[0]输出列表中的第一个元素。都可以用+进行字符串的连接或者列表的添加元素
    不同点:string类型不能用append()函数,他不能在原处进行修改,譬s[0]='a'
    两种类型的互相转化,string转化为list可以通过split()函数,List转化为string可以通过join()函数。
class Solution(object):
    def reverseString(self, s):
        """
        :type s: str
        :rtype: str
        """
        return s[::-1]

  1. Baseball Game
    思路:典型的堆栈问题。需要一个新的数组来存储对应的分数的变动情况。注意不同操作的先后顺序很重要,需要先检验出有没有无效字符,再去进行相加操作。堆栈的两个经典操作pop()和append()用好就可以了。
class Solution(object):
    def calPoints(self, ops):
        """
        :type ops: List[str]
        :rtype: int
        """
        history = []
        for i in range(len(ops)):
            if ops[i] == 'C':
                history.pop()
            elif ops[i] == 'D':
                history.append(history[-1]*2)
            elif ops[i] == '+':
                history.append(history[-1]+history[-2])
            else:
                history.append(int(ops[i]))
        return sum(history)   

相关文章

网友评论

      本文标题:Day27

      本文链接:https://www.haomeiwen.com/subject/sryqixtx.html