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

做公司网站建设价格网络营销方法有几种类型

做公司网站建设价格,网络营销方法有几种类型,专门做酒的网站,怎么一键打开两个wordpress题目 两数相加 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数…

题目

  1. 两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]

输出:[7,0,8]

解释:342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]

输出:[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]

输出:[8,9,9,9,0,0,0,1]

来源:力扣热题100 2. 两数相加


思路(注意事项)

代码精简将三个while和一个if合并,使得代码精简很多。


代码精简

class Solution {
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* head = new ListNode(0); // 虚拟头节点ListNode* p = head; // 当前节点指针int flag = 0; // 进位标志// 遍历两个链表while (l1 != nullptr || l2 != nullptr || flag != 0) {int sum = flag; // 初始化为进位值if (l1 != nullptr) {sum += l1->val;l1 = l1->next;}if (l2 != nullptr) {sum += l2->val;l2 = l2->next;}flag = sum >= 10 ? 1 : 0; // 更新进位标志sum %= 10; // 取个位数p->next = new ListNode(sum); // 创建新节点并连接到链表p = p->next; // 移动当前节点指针}return head->next; // 返回结果链表的头节点}
};

纯代码

class Solution {
private:void func (int sum){flag = sum >= 10 ? 1 : 0;sum %= 10;ListNode* l = new ListNode(sum);p -> next = l;p = p ->next;}
public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* head = new ListNode(0);ListNode *p = head;int flag = 0;while (l1 != nullptr && l2 != nullptr){int sum = l1 -> val + l2 -> val + flag;func(sum);l1 = l1 -> next;l2 = l2 -> next;}while (l1 != nullptr) {int sum = l1 -> val + flag;func(sum);l1 = l1 -> next;}while (l2 != nullptr) {int sum = l2 -> val + flag;func(sum);l2 = l2 -> next;}if (flag == 1){ListNode* l = new ListNode(1);p -> next = l;}return head -> next;}
};

题解(加注释)

class Solution {
private:int flag = 0; // 进位标志,初始化为 0ListNode* p = nullptr; // 当前节点指针,用于构建新链表// 辅助函数:处理当前位的和,并更新链表void func(int sum) {flag = sum >= 10 ? 1 : 0; // 判断是否需要进位sum %= 10; // 取个位数ListNode* l = new ListNode(sum); // 创建新节点p->next = l; // 将新节点连接到链表p = p->next; // 移动当前节点指针}public:ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {ListNode* head = new ListNode(0); // 创建虚拟头节点p = head; // 初始化当前节点指针// 遍历两个链表,逐位相加while (l1 != nullptr && l2 != nullptr) {int sum = l1->val + l2->val + flag; // 计算当前位的和(包括进位)func(sum); // 处理当前位的和l1 = l1->next; // 移动 l1 指针l2 = l2->next; // 移动 l2 指针}// 处理 l1 剩余的节点while (l1 != nullptr) {int sum = l1->val + flag; // 计算当前位的和(包括进位)func(sum); // 处理当前位的和l1 = l1->next; // 移动 l1 指针}// 处理 l2 剩余的节点while (l2 != nullptr) {int sum = l2->val + flag; // 计算当前位的和(包括进位)func(sum); // 处理当前位的和l2 = l2->next; // 移动 l2 指针}// 如果最后还有进位,添加一个新节点if (flag == 1) {ListNode* l = new ListNode(1);p->next = l;}return head->next; // 返回结果链表的头节点(跳过虚拟头节点)}
};
http://www.dtcms.com/wzjs/521648.html

相关文章:

  • 电子政务网站建设的步骤一般为优化大师官方免费下载
  • 个性化定制服务的网站有哪些企业网站推广优化公司
  • 怎么做网站流量统计电商网站seo
  • 电商网站设计图站长工具seo综合查询烟雨楼
  • 站长之家是什么引擎优化seo是什么
  • 郑州优秀网站建设公司作品提示优化要删吗
  • 网站自定义链接怎么做台州网络推广
  • wordpress安装主题主机名百度seo优化包含哪几项
  • 自己做网站怎样挣钱十大经典事件营销案例分析
  • 东台网站网站建设营销软文范文200字
  • 国外网站建设的步骤如何制作自己的网页链接
  • 青岛网站制作推广平台搜索优化指的是什么
  • 医药网站模板青岛seo网站建设公司
  • 日本做h动漫电影网站有哪些软文推广广告公司
  • 网站建设怎么收费百度站长平台提交网站
  • 手机网站搭建教程烟台seo关键词排名
  • 抚州网站建设深圳seo排名
  • 柳州团购网站建设百度seo如何快速排名
  • 邢台网站制作市场新冠疫情最新消息今天公布
  • 网站建设快速seo培训公司
  • 网站关键词百度排名在下降seo优化方法
  • 在电脑上怎么做网站巨量关键词搜索查询
  • wordpress 收录少网站关键词排名怎么优化
  • 上虞网站建设个人推广网站
  • 外国网站在中国做推广搜索引擎优化技术
  • 公司网站托管网络营销软文范例300
  • 龙岗做网站的公司全网媒体发布平台
  • 网站开发最新架构百度推广优化排名
  • wordpress 标题重复长沙seo报价
  • 重庆九龙坡营销型网站建设公司推荐重庆高端seo