题目:加一

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例 2:

输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

代码实现:

/** Return an array of size *returnSize.* Note: The returned array must be malloced, assume caller calls free().*/
int* plusOne(int* digits, int digitsSize, int* returnSize) {int len = digitsSize;int flag = 1;int bak_array[digitsSize + 1];int * array;/* 进位实现 */for(int i = digitsSize - 1; i >= 0; i--){if(digits[i] + flag > 9){if(i == 0){bak_array[i] = 1;bak_array[digitsSize] = 0;len = digitsSize + 1;}else{bak_array[i] = 0;}flag = 1;}else{bak_array[i] = digits[i] + flag;flag = 0;}}/* 为数组分配空间 */array = (int *)malloc(sizeof(int) * len);/* 返回数组大小赋值 */*returnSize = len;/* 将数据拷贝到动态分配的数组 */memcpy(array, bak_array, sizeof(int) * len);return array;
}

难点:
(1) 如果只有一位或者到了第一位进位后大于9,那么把第一位置1,最后一位的后一位置0.
(2) 如果不是第一位且加一后大于9,那么把该位置0并向前一位进位。
(3) 如果当前位加一不大于9,则不进行进位操作。

Leetcode算法题(C语言)8--加一相关推荐

  1. LeetCode算法题-Nth Digit(Java实现)

    这是悦乐书的第215次更新,第228篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第83题(顺位题号是400).找到无限整数序列的第n个数字1,2,3,4,5,6,7,8 ...

  2. LeetCode算法题-K-diff Pairs in an Array(Java实现)

    这是悦乐书的第254次更新,第267篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第121题(顺位题号是532).给定一个整数数组和一个整数k,您需要找到数组中唯一的k- ...

  3. LeetCode算法题-Jewels and Stones(Java实现)

    这是悦乐书的第313次更新,第334篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第182题(顺位题号是771).字符串J代表珠宝,S代表你拥有的石头.S中的每个字符都是 ...

  4. LeetCode算法题-Repeated String Match(Java实现)

    这是悦乐书的第289次更新,第307篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第156题(顺位题号是686).给定两个字符串A和B,找到A必须重复的最小次数,使得B是 ...

  5. 【算法】LeetCode算法题-Remove Duplicates from Sorted Array

    这是悦乐书的第149次更新,第151篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第8题(顺位题号是26).给定一个已经排序(由小到大)的整数数组(元素可以重复),计算其 ...

  6. LeetCode算法题-Reverse Linked List(Java实现)

    这是悦乐书的第192次更新,第195篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第51题(顺位题号是206).反转单链表.例如: 输入:1-> 2-> 3- ...

  7. LeetCode算法题-Convert a Number to Hexadecimal(Java实现)

    这是悦乐书的第219次更新,第231篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第86题(顺位题号是405).给定一个整数,写一个算法将其转换为十六进制.对于负整数,使 ...

  8. LeetCode算法题-Minimum Depth of Binary Tree(Java实现)

    这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...

  9. LeetCode算法题-Valid Palindrome II(Java实现)

    这是悦乐书的第287次更新,第304篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第155题(顺位题号是680).给定非空字符串s,最多可以删除一个字符. 判断它是否是回 ...

  10. LeetCode算法题-Factorial Trailing Zeroes(Java实现)

    这是悦乐书的第183次更新,第185篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第42题(顺位题号是172).给定一个整数n,返回n!中的尾随零数.例如: 输入:3 输 ...

最新文章

  1. java B2B2C springmvc mybatis多租户电子商城系统-Spring Cloud Feign
  2. MyBatis 三种批量插入方式的比较,我推荐第3个!
  3. Caffe 中的卷积--权宜之计
  4. 哈佛计算机系硕士几年,2020年哈佛大学计算机信息硕士申请条件
  5. 探讨8.0版本下后台service存活机制及保活
  6. IDEA 修改JavaWeb的访问路径
  7. RTX5 | 内存池04 - 共享内存用于线程之间的通讯(阻塞方式)- 使用信号量
  8. java 中的this
  9. 搜索引擎的那些事(多线程web遍历)
  10. MATLAB学习笔记(1):MATLAB简介
  11. 让调查问卷数据告诉您更多意义的EnableQ在线问卷调查引擎V5.0发布
  12. 网站ping端口的操作方法和命令介绍
  13. linux下查看硬盘型号、大小等信息(含Raid)
  14. ubuntu下的3D桌面.compiz
  15. word文档删除空白页
  16. Py遇到Bad key “text.kerning_factor“ on line 4 in
  17. 麦克风阵列研究2 声源定位 python界面
  18. 总是半途而废?这四条建议让你培养习惯的成功率翻倍
  19. .Net Web开发技术栈 收藏
  20. android系统之apn相关

热门文章

  1. python惰性求值效果_让Python中类的属性具有惰性求值的能力
  2. 学习路上遇到的Error2
  3. opencv计算物体姿态旋转_物体的三维识别与6D位姿估计:PPF系列论文介绍(五)...
  4. 测试用例怎么写_如何高效组织自动化测试用例
  5. python多线程编程_python多线程编程(1): python对多线程的支持
  6. PyTorch:Faster-RCNN
  7. github 打不开_App更新不了? TF打不开? 试试这个
  8. swiper叠加轮播效果 (含源码) - 案例篇
  9. linux 关于目录的命令,Linux ---- 关于目录基本命令
  10. python串口编程_python串口通信