| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- package main
 
- import (
 
- 	"strconv"
 
- )
 
- func compareVersion(version1 string, version2 string) int {
 
- 	idx1, idx2 := 0, 0
 
- 	for idx1 < len(version1) || idx2 < len(version2) {
 
- 		part1 := nextPartOfVersion(version1, &idx1)
 
- 		part2 := nextPartOfVersion(version2, &idx2)
 
- 		if part1 < part2 {
 
- 			return -1
 
- 		} else if part1 > part2 {
 
- 			return 1
 
- 		}
 
- 	}
 
- 	return 0
 
- }
 
- func nextPartOfVersion(version string, beg *int) int {
 
- 	length := len(version)
 
- 	if *beg >= length {
 
- 		return 0
 
- 	}
 
- 	var end int
 
- 	for end = *beg + 1; end < length; end++ {
 
- 		if version[end] == '.' {
 
- 			break
 
- 		}
 
- 	}
 
- 	val, _ := strconv.Atoi(version[*beg:end])
 
- 	*beg = end + 1
 
- 	return val
 
- }
 
- // func main() {
 
- // 	println(compareVersion("1.0.1", "1"))
 
- // 	println(compareVersion("1.0.1", "2"))
 
- // 	println(compareVersion("1.0.0.0", "1"))
 
- // }
 
 
  |