""" Compare Version Numbers - https://leetcode.com/problems/compare-version-numbers

    Compare two version numbers version1 and version2.
    If version1 > version2 return 1, if version1 < version2 return -1, 
    otherwise return 0.

    You may assume that the version strings are non-empty and contain only 
    digits and the . character.
    
    The . character does not represent a decimal point and is used to separate 
    number sequences.
    
    For instance, 2.5 is not "two and a half" or "half way to version three", it is the fifth second-level revision of the second first-level revision.

    Here is an example of version numbers ordering:

    0.1 < 1.1 < 1.2 < 13.37
"""

class Solution(object):
    def compareVersion(self, version1, version2):
        """
        :type version1: str
        :type version2: str
        :rtype: int
        """
        first = version1.split('.')
        second = version2.split('.')
        i, j = 0, 0
        while i < len(first) and j < len(second):
            if int(first[i]) > int(second[j]):
                return 1
            elif int(first[i]) < int(second[j]):
                return -1
            i += 1
            j += 1
        if i < len(first) and int("".join(first[i:])) > 0:
            return 1
        elif j < len(second) and int("".join(second[j:])) > 0:
            return -1
        return 0