题解 | #比较版本号#

比较版本号

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

package main

import "strings"
import "strconv"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 比较版本号
 * @param version1 string字符串
 * @param version2 string字符串
 * @return int整型
 */
func compare(version1 string, version2 string) int {
	var1, var2 := strings.Split(version1, "."), strings.Split(version2, ".")
	length := min(len(var1), len(var2))
    i := 0
	for ; i < length; i++ {
		n1, n2 := toNum(var1[i]), toNum(var2[i])
		if n1 > n2 {
			return 1
		} else if n1 < n2 {
			return -1
		}
	}
	if len(var1) > len(var2) {
        for ;i<len(var1);i++ {
            if toNum(var1[i]) > 0 {
                return 1
            }
        }
	} else if len(var1) < len(var2) {
        for ;i<len(var2[i]);i++ {
            if toNum(var2[i]) > 0 {
                return -1
            }
        }
	}
	return 0
}

func toNum(str string) int {
	res, _ := strconv.Atoi(str)
	return res
}

func min(n1, n2 int) int {
	if n1 < n2 {
		return n1
	}
	return n2
}

全部评论

相关推荐

03-02 10:51
邵阳学院 Java
红鲤鱼与绿鲤鱼i:看了你的头像不像找工作,像在找妹子
点赞 评论 收藏
分享
牛客963010790号:一般是hr拿着老板账号在招人不是真是老板招
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务