Leetcode字符串算法

时间:2020-04-14
本文章向大家介绍Leetcode字符串算法,主要包括Leetcode字符串算法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

【LeetCode-python 7.整数反转】

难度:简单       类型: 字符串

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

示例1

输入: 123
输出: 321

示例2

输入: -123
输出: -321

示例3

输入: 120
输出: 21

代码实现

class Solution:
    def reverse(self, x: int) -> int:
        sign = 1 if x>0 else -1
        stringre = str(abs(x))
        sumre = 0
        for num, value in enumerate(stringre):
            sumre += int(value)*(10**int(num))
        return sign*sumre*(sumre<2**31)


class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        sign = 1 if x>0 else -1
        x = abs(x)
        
        stack = []
        while x>=1:
            stack.append(x%10)
            x = x / 10
        res = 0
        i = 0
        
        while stack:
       
            res += stack.pop() * 10**i
            i += 1
        return res*sign*(res<2**31)

【LeetCode-python 14.最长公共前缀】

难度:简单       类型: 数组,字符串


编写一个函数来查找字符串数组中的最长公共前缀。

如果不存在公共前缀,返回空字符串 ""。

示例1

输入: ["flower","flow","flight"]
输出: "fl"

示例2

输入: ["dog","racecar","car"]
输出: ""
解释: 输入不存在公共前缀。

思路:
重要用python中的zip函数, 它接收可迭代的对象, 把所有元素中,每个元素对应的元素,打包成元祖为元素的列表(现在是对象需要用list转换)
例如:
lis = ['fdss','frge']
lisx = list(zip(*lis))
print(lisx)

作者:Rye_frenzy
链接:https://leetcode-cn.com/problems/longest-common-prefix/solution/my-leetcode-share-4-by-rye_frenzy/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

class Solution:
    def longestCommonPrefix(self, strs: List[str]) -> str:     
        s = ""
        for i in zip(*strs):
            if len(set(i)) == 1:
                s += i[0]
            else:
                break           
        return s

原文地址:https://www.cnblogs.com/xinghaiyige/p/12695894.html