比较版本号-双指针

28 阅读1分钟
package org.example.demo;  
  
//比较版本号  
public class VersionComDoubleSolution {  
  
public int compareVersion(String version1, String version2) {  
    int n = version1.length(), m = version2.length();  
    int i = 0, j = 0;  
    while (i < n || j < m) {  
        int x = 0;  
        for (; i < n && version1.charAt(i) != '.'; ++i) {  
            x = x * 10 + version1.charAt(i) - '0';  
        }  
        ++i;  
        int y = 0;  
        for (; j < m && version2.charAt(j) != '.'; ++j) {  
            y = y * 10 + version2.charAt(j) - '0';  
        }  
        ++j;  
        if (x != y) {  
            return x > y ? 1 : -1;  
        }  
    }  
    return 0;  
    }  
}