• 344. Reverse String


    Question:

    Write a function that reverses a string. The input string is given as an array of characters char[].

    Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

    You may assume all the characters consist of printable ascii characters.

    Example 1:

    Input: ["h","e","l","l","o"]
    Output: ["o","l","l","e","h"]

    My idea:Use two pointers.Judge the time to end function.

    class Solution:
        def reverseString(self, s) :
            """
            Do not return anything, modify s in-place instead.
            """
            
            if(s==[]):
                return
            
            a=0
            b=len(s)-1
            if(b==0):
                return
            if(b==1):
                z=s[a]
                s[a]=s[b]
                s[b]=z
                return
            while(a!=b):
                z=s[a]
                s[a]=s[b]
                s[b]=z
                a=a+1
                b=b-1
                if(a==b-1):
                    z=s[a]
                    s[a]=s[b]
                    s[b]=z
                    return
                
    执行用时 : 220 ms, 在Reverse String的Python3提交中击败了47.07% 的用户
    内存消耗 : 17.4 MB, 在Reverse String的Python3提交中击败了89.43% 的用户

    他这里要求不要返回值,只要求改变s,所以写个return就可以了,编译器里面还是要写return s的

    还有就是if里面不能同时判断两种类型 比如 

    if(s==[]|len(s)==1)

    这样不行,会报错

  • 相关阅读:
    cocos2dx打包apk
    cocos2d 小游戏
    排序算法笔记二
    把一张合成图分拆出各个小图
    出栈入栈动画demo
    Android 面試題
    AS项目删减打包-01
    c程序指针题
    ubuntu14.04 设置默认登录用户为root
    Ubuntu14.04 Java环境变量配置
  • 原文地址:https://www.cnblogs.com/dmndxld/p/10821871.html
Copyright © 2020-2023  润新知