加一
来源:互联网 发布:淘宝上卖nb鞋的店铺 编辑:程序博客网 时间:2024/04/28 11:19
描述
给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。
该数字按照大小进行排列,最大的数在列表的最前面。
样例
给定 [1,2,3] 表示 123, 返回 [1,2,4].
给定 [9,9,9] 表示 999, 返回 [1,0,0,0].
思考
- 尾数 < 9, 直接加一即可
- 尾数 = 9, 需要考虑首位是否存在加一的情况
代码
// By Lentitudeclass Solution {public: /** * @param digits a number represented as an array of digits * @return the result */ vector<int> plusOne(vector<int>& digits) { // Write your code here // digits >= 0 if (digits.empty()){ return digits; } int len = digits.size(); int i = len - 1; // 如果尾数 < 9 ,则直接 +1 返回 if (digits[i] < 9){ digits[i]++; return digits; }else{ // 如果尾数 = 9, 则进行加一处理 while (i > 0){ digits[i--] = 0; if (digits[i] < 9 ){ digits[i]++; return digits; } } // 对首位需要判断是否存在进位的情况 if (digits[0] < 9){ digits[0]++; return digits; }else{ vec.push_back(1); digits[0] = 0; vec.insert(vec.begin()+1, digits.begin(), digits.end()); return vec; } } }private: vector<int> vec;};
0 0
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 加一
- 指针的加一
- Plus One 加一
- 不将就----一加
- 计蒜客019-加一
- LintCode PlusOne 加一
- 题目:加一
- lintcode-加一-407
- LintCode : 加一
- 加一(LintCode)
- 10分钟了解c++中vector基本内容
- centos7 docker容器报 docker Failed to get D-Bus connection 错误
- Kubernetes1.6新特性:全面支持多颗GPU
- 熬夜不
- urlurl中向后台传递中文乱码解决方法
- 加一
- 欢迎使用CSDN-markdown编辑器
- 详解Linux中的进程描述符Task_struct
- 自定义UISlider的样式
- python 数据分析相关模块安装
- redis-String
- Product
- 深入理解JVM之三:垃圾回收算法
- java中dom4j解析xml生成xml文档,dom4j工具压缩包原代码