【左旋字符串】【翻转单词顺序】【顺子】

2018-09-02  本文已影响0人  fighting_css

【题目】汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它!
【思路】左移多少位,则是多少位到到右边
【代码】

class Solution:
    def LeftRotateString(self, s, n):
        # write code here
        k = len(s)
        if k<=0:
            return s
        m = n%k
        return s[m:]+s[:m]

【题目】
【代码】

class Solution:
    def ReverseSentence(self, s):
        # write code here
        if not s:
            return s
        s_split = s.split(" ")[::-1]
        return " ".join(s_split)

【顺子】模拟题
【代码】

class Solution:
    def IsContinuous(self, numbers):
        # write code here
        n = len(numbers)
        if n<5 or n>5:
            return False
        dict_num = {}
        count = 0
        for i in range(n):
            if numbers[i]==0:
                count+=1
                continue
            elif numbers[i] in dict_num.keys():
                return False#重复则不可能构成顺子
            else:
                dict_num[numbers[i]] = 1
        return True if max(dict_num.keys())-min(dict_num.keys())<=4 else False
上一篇下一篇

猜你喜欢

热点阅读