• 【LeetCode】165


    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

    Solution:类似于split的方法把字符串解析, 遇到'.'就判断之前的sum1和sum2

     1 class Solution {
     2 public:
     3     int compareVersion(string version1, string version2) {
     4         int sum1=0,sum2=0;
     5         int n1=version1.size(),n2=version2.size();
     6         for(int i=0,j=0;i<n1||j<n2;i++,j++){
     7             while(i<n1&&version1[i]!='.'){
     8                 sum1=sum1*10+version1[i]-'0';
     9                 i++;
    10             }
    11             while(j<n2&&version2[j]!='.'){
    12                 sum2=sum2*10+version2[j]-'0';
    13                 j++;
    14             }
    15             if(sum1>sum2)return 1;
    16             else if(sum1<sum2)return -1;
    17             else{
    18                 sum1=0;
    19                 sum2=0;
    20             }
    21         }
    22         return 0;
    23     }
    24 };
  • 相关阅读:
    如何读入位图(五)
    如何读入位图(四)
    绘制正弦曲线
    图像灰度均衡
    色彩填充及使用
    彩色扇形
    如何读入位图(三)
    ARCGIS FOR SILVERLIGHT Layer
    sqlserver2008多数据库操作(未完)
    SQLSERVER 2008 远程无法连接问题
  • 原文地址:https://www.cnblogs.com/irun/p/4713902.html
Copyright © 2020-2023  润新知