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

做全屏的网站 一屛多高个人网站设计模板

做全屏的网站 一屛多高,个人网站设计模板,公司网站建设浩森宇特,关于婚纱摄影的网站模板目录 题目题目描述示例 1:示例 2:示例 3:提示:原题链接 题解解题思路代码实现(C) 题目 题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xf…

目录

  • 题目
    • 题目描述
    • 示例 1:
    • 示例 2:
    • 示例 3:
    • 提示:
    • 原题链接
  • 题解
    • 解题思路
    • 代码实现(C)

题目

题目描述

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 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]

提示:

  • 每个链表中的节点数在范围 [1, 100] 内
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零

原题链接

  • LeetCode 2. 两数相加

题解

解题思路

  • 每个链表中的节点数在范围 [1, 100] 内,超出int或long的表示范围,故不能将链表转为数字相加。
  • 采取逐位相加,计算进位的方式:
    1. 声明一个链表用来存放相加后的结果。
    2. 不断地取两个链表的最低位,相加后加上进位(初值为0),判断是否需要进位,需要进位则更新进位信息。
    3. 进位判断完成后,用尾插法将该数字插入到链表中(头插法逆转元素顺序,尾插法顺序不变)。
    4. 某一个链表遍历完后,需要对另一个链表单独遍历,进行同样的操作。
    5. 两个链表都遍历完后,需要检验最后是否有进位,有进位则用尾插法将进位插入到链表中。
  • 算法笔记p253链表处理。

代码实现(C)

typedef struct ListNode node;   // 表示声明的是一个结点
typedef struct ListNode List;   // 表示声明的是一个单链表// 单链表向指定结点后插入结点
node *insert(node *pre, int value) {node *p = (node *) malloc(sizeof(node));p->val = value;node *r = pre->next;pre->next = p;p->next = r;return p;
}List *head = NULL;      // 新建一个链表
node *tail = NULL;      // 尾指针
int carry = 0;          // 进位// 计算进位和插入结点
void calculate(int sum) {carry = 0;                  // 进位已经加到sum中,置为0if (sum >= 10) {            // 如果可以产生进位carry = sum / 10;       // 更新进位sum %= 10;              // 取个位}tail = insert(tail, sum);   // 尾插法插入结点
}struct ListNode *addTwoNumbers(struct ListNode *l1, struct ListNode *l2) {head = (List *) malloc(sizeof(List));           // 初始化链表head->next = NULL;tail = head;                                    // 尾指针一开始指向头结点carry = 0;                                      // 初始化进位for (; l1 && l2; l1 = l1->next, l2 = l2->next)  // 计算l1和l2共同长度部分calculate(l1->val + l2->val + carry);for (; l1; l1 = l1->next)                       // 计算l1剩余部分calculate(l1->val + carry);for (; l2; l2 = l2->next)                       // 计算l2剩余部分calculate(l2->val + carry);if (carry != 0)                                 // 如果处理完l1和l2所以位数,还有进位tail = insert(tail, carry);                 // 尾插法插入进位return head->next;
}
http://www.hkea.cn/news/612925/

相关文章:

  • 临朐县网站建设利用搜索引擎营销成功的案例
  • 利用网盘做视频网站镇江优化推广
  • 视频微网站开发哪个公司网站设计好
  • 品网站建设智能搜索引擎
  • 怎样在百度建网站seo建设者
  • 四海网络网站建设咨询什么叫做网络营销
  • 安徽建设网官方网站优化分析
  • 网站根目录文件名游戏推广员是做什么的
  • 个体工商户怎么做网站西安网站seo技术
  • 报名网站制作2345网址导航官网下载安装
  • 图书购物网站开发总结百度发广告需要多少钱
  • 做网站 业务流程图站长统计性宝app
  • 长沙做网站大概多少钱万网域名注册教程
  • 成都网站建设网站产品推广计划书怎么写
  • 深圳个人网站建设大连网络推广公司哪家好
  • 建设工程教育appseo技术培训中心
  • 家教中介怎么利用网站来做的免费广告推广
  • wordpress仿制建设seo是什么平台
  • 商城网站建设分为几块seo臻系统
  • 网络营销对于个人而言有什么作用seo文章
  • 做书籍封皮的网站今日中国新闻
  • 东莞建设网站电工培训技术学校
  • 深圳聘请做网站人员成都排名seo公司
  • 网站备案之后东莞网站关键词优化公司
  • 多种专业网站建设潍坊网站排名提升
  • 网站投稿系统怎么做网站制作流程是什么
  • 交警网站建设整改百度推广怎么推广
  • 重庆网站建设哪里比较好呢网站下载
  • 网站运行速度慢的原因看b站二十四小时直播间
  • 电商网站开发服务全网营销骗局揭秘