题解 | 比较版本号

比较版本号

https://www.nowcoder.com/practice/2b317e02f14247a49ffdbdba315459e7

#  !!!提供了一个新思路 比较数组形式的字符串大小可以通过补0来使数组长度一致
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 比较版本号
# @param version1 string字符串 
# @param version2 string字符串 
# @return int整型
#
class Solution:
    def dealForNum(self,str1:str ):
        
        return int(str1.lstrip('0')) if str1.lstrip('0') else 0

    def compare(self , version1: str, version2: str) -> int:
        # write code here
        list1 =  version1.split(".")
        list2 = version2.split(".")
        len1 = len(list1)
        len2 = len(list2)
        maxlen = max(len1,len2)
        for i in range(maxlen):
            s1 =self.dealForNum(list1[i]) if i<len1 else 0
            s2 =self.dealForNum(list2[i]) if i<len2 else 0
            print(s1)
            print(s2)
            if s1>s2:
                return 1
            if s1<s2:
                return -1
        return 0

附上lstrip的用法

  1. 移除开头的空白字符 python

定义一个包含开头空白字符的字符串

str1 = " Hello, World!"

调用 lstrip() 方法移除开头的空白字符

result = str1.lstrip()print(result)

定义一个包含开头指定字符的字符串

str2 = "000123"

调用 lstrip() 方法移除开头的 '0'

result = str2.lstrip('0')print(result)

输出结果:plaintext1233. 移除开头的多个指定字符python

定义一个包含开头多个指定字符的字符串

str3 = "abcHello, World!"

调用 lstrip() 方法移除开头的 'a'、'b'、'c'

result = str3.lstrip('abc')print(result)

注意事项lstrip() 方法只会移除字符串开头的指定字符,不会影响字符串中间和结尾的字符。chars 参数指定的是字符集合,而不是字符串序列,也就是说只要开头的字符在 chars 中,就会被移除,与字符在 chars 中的顺序无关。

全部评论

相关推荐

半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务