Day27

  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)   
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 第一部分Common Lisp介绍第1章 介绍一下Lisp你在学的时候觉得已经明白了,写的时候更加确信了解了,教别...
    geoeee阅读 3,013评论 5 8
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,631评论 1 118
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,992评论 19 139
  • 对于思考,我们可能有很多的误解。当我们碰到问题或障碍时,总是会显得一筹莫展,而无路可走。于是有人说:哎,你静下来想...
    w小郭阅读 230评论 0 0