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

leetcode 2816.翻倍以链表形式表示的数字

1.题目要求:

给你一个 非空 链表的头节点 head ,表示一个不含前导零的非负数整数。将链表 翻倍 后,返回头节点 head 。

2
2.题目代码:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* doubleIt(struct ListNode* head){struct ListNode* cur = head;int count = 0;//1.遍历链表,得到结点个数while(cur){count++;cur = cur->next;}int* number = (int*)malloc(sizeof(int) * count);//2.根据结点个数用malloc申请数组int j = 0;cur = head;//3.把链表的结点放入数组while(cur){number[j] = cur->val;j++;cur = cur->next;}//4.给每个数组都乘以2for(int i = 0;i < j;i++){number[i] *= 2;}//5.进行进位for(int i = j - 1;i > 0;i--){if(number[i] > 9){number[i] %= 10;number[i - 1] += 1;}}//6.判断数组第一个数是否大于9if(number[0] > 9){struct ListNode* newnode = (struct ListNode*)malloc(sizeof(struct ListNode));newnode->val = number[0] / 10;newnode->next = head;head = newnode;cur = head;cur = cur->next;cur->val = number[0] % 10;int i = 1;cur = cur->next;while(cur){cur->val = number[i];i++;cur = cur->next;}return head;}else{cur = head;int i = 0;while(cur){cur->val = number[i];i++;cur = cur->next;}return head;}
}

http://www.mrgr.cn/news/19047.html

相关文章:

  • 在Vue中使用Element UI的表格组件时,通过点击表格的某一行来获取该行数据的id
  • AUTOSAR_EXP_ARAComAPI的5章笔记(2)
  • 登录-异步请求用户数据无法保存-bug
  • 后端MVC三层架构,Mybatis ,雪花算法生成唯一id
  • 计算机毕业设计Spark+PyTorch知识图谱中药推荐系统 中药数据分析可视化大屏 中药爬虫 机器学习 中药预测系统 中药情感分析 大数据毕业设计
  • Hyper-v 安装 centOS
  • Python青少年简明教程:模块
  • 记一次某中学系统越权漏洞
  • 【深入了解Java常用类】
  • LeetCode:2708. 一个小组的最大实力值(动态规划 Java)
  • 算法day20|669. 修剪二叉搜索树、将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
  • MySQL 锁机制详解
  • 跟我一起学FPGA (二) 语法讲解
  • 八股训练营感想
  • 多表查询_关联查询
  • 【win11】win11取消开机密码
  • 嵌入式Linux:常见信号的默认行为
  • 在vue项目中,有两个tab页,在其中一个页面调用另一个页面的方法
  • AUTOSAR_EXP_ARAComAPI的3章节笔记
  • 如何从 Bak 文件中恢复 SQL数据库?(3种方法)