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

【力扣 中等 C】2. 两数相加

目录

题目

解法一:迭代

解法二:递归


题目

待添加

解法一:迭代

struct ListNode* add(struct ListNode* head1, struct ListNode* head2)
{struct ListNode* virHead = malloc(sizeof(*virHead));struct ListNode* curNode = virHead;int carry = 0;struct ListNode* list1CurNode = head1;struct ListNode* list2CurNode = head2;while (list1CurNode || list2CurNode || carry){int val1 = list1CurNode ? list1CurNode->val : 0;int val2 = list2CurNode ? list2CurNode->val : 0;int sum = val1 + val2 + carry;carry = sum >= 10 ? 1 : 0;struct ListNode* newNode = malloc(sizeof(*newNode));newNode->val = sum % 10;newNode->next = NULL;curNode->next = newNode;curNode = newNode;list1CurNode = list1CurNode ? list1CurNode->next : list1CurNode;list2CurNode = list2CurNode ? list2CurNode->next : list2CurNode;}struct ListNode* retHead = virHead->next;free(virHead);return retHead;
}struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2)
{return add(l1, l2);
}

解法二:递归

struct ListNode* add(struct ListNode* head1, struct ListNode* head2, int carry)
{if (!head1 && !head2 && !carry)return NULL;int val1 = head1 ? head1->val : 0;int val2 = head2 ? head2->val : 0;int sum = val1 + val2 + carry;struct ListNode* newNode = malloc(sizeof(*newNode));newNode->val = sum % 10;newNode->next = add(head1 ? head1->next : head1, head2 ? head2->next : head2, sum >= 10 ? 1 : 0);return newNode;
}struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2)
{return add(l1, l2, 0);
}

相关文章:

  • PostgreSQL的扩展autoinc
  • C++二叉树进阶面试题
  • 热蛋白质组学分析技术在现代生命科学中的应用领域探析
  • mysql 根据查询语句创建表语句
  • 游戏行业对于服务器类型该怎样进行选择
  • Karate UI 基本概念之一
  • 【网工】华为配置专题进阶篇①
  • 【Java_EE】设计模式
  • 502 Bad Gateway:服务器作为网关或代理时收到无效响应处理方式
  • [pyvips] 枚举类型 | 错误处理(c->py)
  • 深入理解 MySQL 事务:保障数据操作的原子性与一致性
  • C#List的join查询
  • 分布式——分布式系统设计二——幂等性详解
  • 大事务导致数据库连接池耗尽分析与解决方案
  • 250618-通过Artifacts功能集成Open-WebUI与Gradio
  • Docker PowerJob
  • Docker搭建RabbitMQ集群环境
  • less-9-基于时间的GET单引号盲注
  • 客户端软件开发技术选择、填空解析
  • css 制作一个可以旋转的水泵效果
  • 网站内页设置多少个关键字最好/如何做好seo基础优化
  • app加盟代理/济南网站seo哪家公司好
  • 电脑当服务器做网站/百度电话客服24小时
  • 做网站和易语言/lol关键词查询
  • 青岛模板建站多少钱/yandex引擎搜索入口
  • 武汉网站seo哪家公司好/电商怎么推广自己的产品