• leetcode 165. 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


    题意非常明白,就是按照version比较规则来比较。
    自己没怎么想,看了别人的解法。

    碰到‘.’之前一直累加数,碰到'.'进行比较,直至字符串结束。
    字符串转数字s[i]-'0'。
    就没有什么难点了。

     1 class Solution {
     2 public:
     3 
     4     int compareVersion(string version1, string version2) {
     5         int val1=0,val2=0;
     6         int len1=version1.length();
     7         int len2=version2.length();
     8         int i=0,j=0;
     9         
    10         while(i<len1||j<len2){
    11             val1=0;val2=0;
    12             while(i<len1){
    13             if(version1[i]=='.')  {i++;break;}
    14             else  val1=val1*10+version1[i++]-'0';}
    15             while(j<len2){
    16             if(version2[j]=='.')  {j++;break;}
    17             else val2=val2*10+version2[j++]-'0';}
    18             
    19             if(val1>val2) return 1;
    20             if(val1<val2) return -1;
    21         }        
    22         return 0;
    23         
    24     }
    25 };



  • 相关阅读:
    matplotlib实例笔记
    matplotlib笔记3
    pandas之时间重采样笔记
    pandas之时间序列笔记
    pandas之数据IO笔记
    pandas之聚合运算
    pandas之分组计算笔记
    算术运算符合
    数据类型 概况 (字符串,列表)
    for 循环
  • 原文地址:https://www.cnblogs.com/LUO77/p/5100581.html
Copyright © 2020-2023  润新知