leetcode[165]:Compare Version Numbers
2015-06-26 11:05
381 查看
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
开大数组,逐一比较,考虑不等长。
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
int compareVersion(char* version1, char* version2) { int i,j,k,l; int f1[10000]={0},f2[10000]={0}; i=j=k=l=0; while(version1[i]!='\0') { while(version1[i]!='.') { f1[k]=f1[k]*10+version1[i++]-'0'; if(version1[i]=='\0') break; } if(version1[i]=='\0') break; k++; i++; } i=0; while(version2[i]!='\0') { while(version2[i]!='.') { f2[l]=f2[l]*10+version2[i++]-'0'; if(version2[i]=='\0') break; } if(version2[i]=='\0') break; l++; i++; } l++; k++; for(i=0;i<k && i<l;i++) { if(f1[i]<f2[i]) return -1; if(f1[i]>f2[i]) return 1; } for(;i<k;i++) { if(f1[i]!=0) return 1; } for(;i<l;i++) { if(f2[i]!=0) return -1; } return 0; }
开大数组,逐一比较,考虑不等长。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android java 与 javascript互访(相互调用)的方法例子
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- PostgreSQL ERROR: invalid escape string 解决办法
- 浅谈C++中的string 类型占几个字节
- 标准C++类string的Copy-On-Write技术
- C++实现string存取二进制数据的方法
- C#中string和StingBuilder内存中的区别实例分析
- PHP STRING 陷阱原理说明
- c#中 String和string的区别介绍
- C#实现的图片、string相互转换类分享
- asp.net String.IsNullOrEmpty 方法
- JavaScript中字符串(string)转json的2种方法
- C#中string用法实例详解
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- JavaScript中的object转换成number或string规则介绍
- javascript String 对象