【LeetCode 链表合集】

1. LeetCode 206 反转链表

题目链接🔗
在这里插入图片描述



解题思路 🔍
🐧创建一个新的节点,使用链表头插的方法;
在这里插入图片描述


2. NC40 链表相加

题目链接🔗
在这里插入图片描述


解题思路 🔍
🐧 将两个链表进行逆置,然后再创建一个结果集的链表,利用头插,将结果插入;

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param head1 ListNode类 
     * @param head2 ListNode类 
     * @return ListNode类
     */
    ListNode* addInList(ListNode* head1, ListNode* head2) {
        // write code here
        ListNode* newHead1 = new ListNode(0);


        // 先将链表逆置
        ListNode* cur1 = head1;
        while (cur1 != nullptr)
        {
            ListNode* tmp = cur1->next;

            cur1->next = newHead1->next;

            newHead1->next = cur1;

            cur1 = tmp;
        }

        // 将链表逆置
        ListNode* newHead2 = new ListNode(0);
        ListNode* cur2 = head2;
        while (cur2 != nullptr)
        {
            ListNode* tmp = cur2->next;

            cur2->next = newHead2->next;

            newHead2->next = cur2;

            cur2 = tmp;
        }

        ListNode* resHead = new ListNode(0);
        cur1 = newHead1->next;
        cur2 = newHead2->next;

        int k = 0;
        while (cur1 || cur2)
        {
            int num1 = 0;
            if (cur1 != nullptr)
                num1 = cur1->val;
            
            int num2 = 0;
            if (cur2 != nullptr)
                num2 = cur2->val;

            // 每次把结果头插
            int num = num1 + num2 + k;

            if (num >= 10)
                k = 1;
            else
                k = 0;

            num %= 10;

            ListNode* numNode = new ListNode(num);

            numNode->next = resHead->next;
            resHead->next = numNode;

            if (cur1 != nullptr)
                cur1 = cur1->next;

            if (cur2 != nullptr)
                cur2 = cur2->next;
        }   

        if (k > 0)
        {
            ListNode* numNode = new ListNode(1);

            numNode->next = resHead->next;
            resHead->next = numNode;
        }
        return resHead->next;
    }

在这里插入图片描述

相关推荐

  1. 快慢指针(力扣)

    2024-07-14 21:48:01       38 阅读
  2. LeetCode——

    2024-07-14 21:48:01       54 阅读
  3. leetcode-环形

    2024-07-14 21:48:01       60 阅读
  4. leetcode-相交

    2024-07-14 21:48:01       53 阅读
  5. leetcode-专题

    2024-07-14 21:48:01       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 21:48:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 21:48:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 21:48:01       58 阅读
  4. Python语言-面向对象

    2024-07-14 21:48:01       69 阅读

热门阅读

  1. IOS热门面试题(二)

    2024-07-14 21:48:01       20 阅读
  2. KVM-QEMU

    KVM-QEMU

    2024-07-14 21:48:01      13 阅读
  3. Linux重要知识点

    2024-07-14 21:48:01       18 阅读
  4. SVN 分支管理深入解析

    2024-07-14 21:48:01       16 阅读
  5. 栈与队列---滑动窗口最大值

    2024-07-14 21:48:01       19 阅读