当前位置: 首页 > news >正文

Leetcode—66.加一【简单】

2023每日刷题(十一)

Leetcode—66.加一

实现代码1

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* plusOne(int* digits, int digitsSize, int* returnSize){int num = 0;int i = 0;int arr[110] = {0};// 进位标识符int carryOver = 0;int cnt = digitsSize - 1;int tmp = digits[cnt] + 1;if(tmp == 10) {carryOver = 1;arr[cnt] = 0;} else {arr[cnt] = tmp;}int cur = cnt;while(cnt--) {if(carryOver == 0) {arr[--cur] = digits[cnt];} else {tmp = digits[cnt] + 1;if(tmp == 10) {carryOver = 1;arr[--cur] = 0;} else {carryOver = 0;arr[--cur] = tmp;}}}if(carryOver) {*returnSize = digitsSize + 1;} else {*returnSize = digitsSize;}cur = *returnSize;int *arrList = (int *)malloc((cur) * sizeof(int));while(digitsSize--) {arrList[--cur] = arr[digitsSize];}if(carryOver) {arrList[0] = 1;}return arrList;
}

运行结果

实现代码2

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* plusOne(int* digits, int digitsSize, int* returnSize){int cnt = 0;int i;for(i = 0; i < digitsSize; i++) {if(digits[i] == 9) {cnt++;}}// 全部元素都为9if(cnt == digitsSize) {int *ans = (int *)malloc((digitsSize + 1) * sizeof(int));ans[0] = 1;int j;for(j = 1; j < digitsSize + 1; j++) {ans[j] = 0;}*returnSize = digitsSize + 1;return ans;} else {int *ans = (int *)malloc(digitsSize * sizeof(int));int c = 0;int i;for(i = digitsSize - 1; i >= 0; i--) {if(i == digitsSize - 1) {ans[i] = digits[i] + 1;c = ans[i] / 10;ans[i] = ans[i] % 10;} else {ans[i] = digits[i] + c;c = ans[i] / 10;ans[i] = ans[i] % 10;}}*returnSize = digitsSize;return ans;}    
}

运行结果

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

http://www.lryc.cn/news/208663.html

相关文章:

  • Babylonjs学习笔记(六)——贴图的使用
  • 架构风格区别-架构案例(五十九)
  • p5.js画布操作实战:创建,绑定指定元素,动态调整大小,隐藏滚动条,删除画布
  • vue手动拖入和导入excel模版
  • Linux下导出dump文件(Oracle和PG数据)
  • TSINGSEE青犀睡岗离岗检测算法——确保加油站安全运营
  • gd32部分映射1/2,完全映射,备用功能选择等
  • 如何高效自学(黑客技术)方法——网络安全
  • K8S基础架构租赁(Lease )
  • vue使用smooth-signature实现移动端电子签字,包括横竖屏
  • K8s概念汇总-笔记
  • 小程序设计基本微信小程序的校园生活助手系统
  • 程序包com.sun.xml.internal.bind.marshaller不存在
  • Docker 入门
  • Arduino驱动ME007-ULS防水测距模组(超声波传感器)
  • docker容器怎么设置开机启动
  • 基于springboot实现校园交友网站管理系统项目【项目源码+论文说明】
  • 支付宝证书到期更新完整过程
  • Linux 云服务器磁盘挂载简介
  • LeetCode--3.无重复字符的最长子串
  • iOS调试技巧——使用Python 自定义LLDB
  • 经典卷积神经网络 - ResNet
  • 一、高效构建Java应用:Maven入门和进阶
  • 【Pytorch】Pytorch学习笔记02 - 单变量时间序列 LSTM
  • C# 压缩图片
  • Linux: sysctl: rp_filter; 包到了内核,没有到socket,火星包martia
  • Liunx两台服务器实现相互SSH免密登录
  • 刷题笔记day03-链表
  • Lua入门使用与基础语法
  • RDMA概览