文章目录

  • 1. 题目
  • 2. 解题

1. 题目

多项式链表是一种特殊形式的链表,每个节点表示多项式的一项。

每个节点有三个属性:

  • coefficient:该项的系数。项 9x4 的系数是 9 。
  • power:该项的指数。项 9x4 的指数是 4 。
  • next:指向下一个节点的指针(引用),如果当前节点为链表的最后一个节点则为 null 。

例如,多项式 5x3 + 4x - 7 可以表示成如下图所示的多项式链表:

多项式链表必须是标准形式的,即多项式必须 严格 按指数 power 的递减顺序排列(即降幂排列)。
另外,系数 coefficient 为 0 的项需要省略

给定两个多项式链表的头节点 poly1 和 poly2,返回它们的和的头节点。

PolyNode 格式:

输入/输出格式表示为 n 个节点的列表,其中每个节点表示为 [coefficient, power] 。例如,多项式 5x3 + 4x - 7 表示为: [[5,3],[4,1],[-7,0]] 。

示例 1:

输入:poly1 = [[1,1]], poly2 = [[1,0]]
输出:[[1,1],[1,0]]
解释:poly1 = x. poly2 = 1. 和为 x + 1.示例 2:
输入:poly1 = [[2,2],[4,1],[3,0]], poly2 = [[3,2],[-4,1],[-1,0]]
输出:[[5,2],[2,0]]
解释:poly1 = 2x^2 + 4x + 3. poly2 = 3x^2 - 4x - 1. 和为 5x^2 + 2. 注意,我们省略 "0x" 项。示例 3:
输入:poly1 = [[1,2]], poly2 = [[-1,2]]
输出:[]
解释:和为 0。我们返回空链表。提示:
0 <= n <= 10^4
-10^9 <= PolyNode.coefficient <= 10^9
PolyNode.coefficient != 0
0 <= PolyNode.power <= 10^9
PolyNode.power > PolyNode.next.power

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/add-two-polynomials-represented-as-linked-lists
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

/*** Definition for polynomial singly-linked list.* struct PolyNode {*     int coefficient, power;*     PolyNode *next;*     PolyNode(): coefficient(0), power(0), next(nullptr) {};*     PolyNode(int x, int y): coefficient(x), power(y), next(nullptr) {};*     PolyNode(int x, int y, PolyNode* next): coefficient(x), power(y), next(next) {};* };*/class Solution {public:PolyNode* addPoly(PolyNode* poly1, PolyNode* poly2) {PolyNode* temp = new PolyNode(), *cur=temp;while(poly1 && poly2){if(poly1->power > poly2->power){cur->next = poly1;cur = cur->next;poly1 = poly1->next;}else if(poly1->power < poly2->power){    cur->next = poly2;cur = cur->next;poly2 = poly2->next;}else{int sum = poly1->coefficient + poly2->coefficient;if(sum){poly1->coefficient += poly2->coefficient;cur->next = poly1;cur = cur->next;}poly1 = poly1->next;poly2 = poly2->next;}}if(poly1)cur->next = poly1;elsecur->next = poly2;return temp->next;}
};

88 ms 37.8 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 1634. 求两个多项式链表的和相关推荐

  1. 【一元多项式算法】设一个一元多项式采用带头结点的单链表存储,所有结点 按照升幂方式链接。设计一个算法,求两个多项式 A 和 B 的乘积,结果多项式 C 存放在新辟的空间中。

    [一元多项式算法]设一个一元多项式采用带头结点的单链表存储,所有结点 按照升幂方式链接.设计一个算法,求两个多项式 A 和 B 的乘积,结果多项式 C 存放在新辟的空间中. #include<s ...

  2. [递归|迭代] leetcode 21 合并两个有序链表

    [递归|迭代] leetcode 21 合并两个有序链表 1.题目 题目链接 将两个升序链表合并为一个新的升序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2 ...

  3. LeetCode 21. 合并两个有序链表(链表)

    上一篇博客:LeetCode 20. 有效的括号(栈.字符串)  写在前面:大家好!我是ACfun,我的昵称来自两个单词Accepted和fun.我是一个热爱ACM的蒟蒻.最近萌生了刷LeetCode ...

  4. (不带头结点的)单链表增删查改,逆置单链表(两种方法),求两个单链表的第一个公共结点,合并两个单链表,单循环链表中判断第一个入环点,约瑟夫环

    补充了每个算法的基本思想,并且画了思路图,源代码都经过调试成功 1.SlistNode.c文件 (1) (不带头结点的)单链表增删查改 #include "SlistNode.h" ...

  5. LeetCode上求两个排序数组中位数问题—— Median of Two Sorted Arrays

    1.题目 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ...

  6. LeetCode 21合并两个有序链表22括号生成

    微信搜索bigsai,回复进群,加入打卡.维护不易,欢迎点赞支持! 合并两个有序列表 将两个升序链表合并为一个新的 升序 链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1 ...

  7. LeetCode 21. 合并两个有序链表(单链表)

    文章目录 1. 题目信息 2. 解题 1. 题目信息 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例:输入:1->2->4, 1-> ...

  8. Java实现 LeetCode 21 合并两个有序链表

    21. 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1 ...

  9. 求两个多项式相加的和(数据结构cpp)

    (萌新写代码,欢迎各位大佬多多指教!) 假设我们已知多项式    A:             B:  现在要求解这两个多项式的和. 第一步:用什么方式储存多项式?需要储存的数据有多项式的系数和指数, ...

最新文章

  1. Linux 2.6 下通过 ptrace 和 plt 实现用户态 API Hook
  2. 分布式存储(姚文辉)
  3. 【倒计时】Qtum量子链全节点超级大奖1000QTUM,不要错过!
  4. ubuntu16搭建z-blog博客
  5. java循环输入直到,使用循环接受其他用户输入,直到用户输入结束输入的值
  6. 前端学习(1324):anysc关键字
  7. 【职业】大一规划、体验生活、故事里
  8. Python 批量重命名文件
  9. asp.mvc 基本知识
  10. 使用Flvplayer.swf播放器播放 .flv 格式的视频
  11. 像韩寒一样活着 南方人物周刊(转)
  12. Java 9 模块化(Modularity)
  13. 十分钟搭建私有化人脸识别服务
  14. 如何知道计算机显示器尺寸,如何查看电脑显示器尺寸?
  15. 【Android】底部导航栏【BottomNavigationView】+【ViewPage2】
  16. 【Medical physics】CT的空间和密度分辨率
  17. Centos网络操作之IP、网关、路由、防火墙
  18. java web 大并发服务器_计算-服务器最大并发量-http协议请求-以webSphere服务器为例-考虑线程池...
  19. Elasticsearch在各大互联网公司的应用案例
  20. DeFi正成为了新的全球化加速器

热门文章

  1. 硬盘显示容量和实际容量不符合_买移动固态硬盘纠结大半天?花2分钟看完这篇,购买时不再被坑...
  2. react dispatch_React系列自定义Hooks很简单
  3. 找出无序数组最小的K个数(基于快排,效率高)
  4. 驱动开发中常用的操作和小知识
  5. Platform Invoke and Marshaling Data: [1/3]
  6. day 34 守护线程守护进程 互斥锁线程 信号量 生产者消费者
  7. gojs 部分功能实现
  8. C# 多种方式发送邮件(附帮助类)
  9. kafka Failed to send messages after 3 tries 问题解决
  10. android listview 异步加载图片并防止错位