LeetCode //C - 2130. Maximum Twin Sum of a Linked List

2130. Maximum Twin Sum of a Linked List

In a linked list of size n, where n is even, the i t h i^{th} ith node (0-indexed) of the linked list is known as the twin of the ( n − 1 − i ) t h (n-1-i)^{th} (n1i)th node, if 0 <= i <= (n / 2) - 1.

  • For example, if n = 4, then node 0 is the twin of node 3, and node 1 is the twin of node 2. These are the only nodes with twins for n = 4.

The twin sum is defined as the sum of a node and its twin.

Given the head of a linked list with even length, return the maximum twin sum of the linked list.
 

Example 1:

在这里插入图片描述

Input head = [5,4,2,1]
Output 6
Explanation:
Nodes 0 and 1 are the twins of nodes 3 and 2, respectively. All have twin sum = 6.
There are no other nodes with twins in the linked list.
Thus, the maximum twin sum of the linked list is 6.

Example 2:

在这里插入图片描述

Input head = [4,2,2,3]
Output 7
Explanation:
The nodes with twins present in this linked list are:
– Node 0 is the twin of node 3 having a twin sum of 4 + 3 = 7.
– Node 1 is the twin of node 2 having a twin sum of 2 + 2 = 4.
Thus, the maximum twin sum of the linked list is max(7, 4) = 7.

Example 3:

在这里插入图片描述

Input head = [1,100000]
Output 100001
Explanation:
There is only one node with a twin in the linked list having twin sum of 1 + 100000 = 100001.

Constraints:
  • The number of nodes in the list is an even integer in the range [ 2 , 1 0 5 ] [2, 10^5] [2,105].
  • 1 < = N o d e . v a l < = 1 0 5 1 <= Node.val <= 10^5 1<=Node.val<=105

From: LeetCode
Link: 2130. Maximum Twin Sum of a Linked List


Solution:

Ideas:
  1. Use the two-pointer technique to find the middle of the linked list.
  2. Reverse the second half of the list.
  3. Sum the values of the corresponding nodes from the start and reversed second half to find the maximum sum.
  4. Return the maximum sum found.
Code:
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     struct ListNode *next;
 * };
 */

int pairSum(struct ListNode* head) {
   
    if (head == NULL || head->next == NULL) return 0;
    
    // Step 1: Find the middle of the linked list
    struct ListNode *slow = head, *fast = head;
    while (fast && fast->next) {
   
        slow = slow->next;
        fast = fast->next->next;
    }
    
    // Step 2: Reverse the second half of the linked list
    struct ListNode *prev = NULL, *next = NULL;
    while (slow) {
   
        next = slow->next;
        slow->next = prev;
        prev = slow;
        slow = next;
    }
    
    // Step 3: Pairwise sum the values from the start and end to find the maximum sum
    int maxSum = 0;
    struct ListNode *start = head, *end = prev;
    while (end) {
   
        maxSum = maxSum > (start->val + end->val) ? maxSum : (start->val + end->val);
        start = start->next;
        end = end->next;
    }
    
    // Step 4: Return the maximum sum
    return maxSum;
}

相关推荐

  1. UVA-213

    2024-01-13 09:44:06       55 阅读
  2. leetcode 210.课程表 II

    2024-01-13 09:44:06       58 阅读
  3. 213. 打家劫舍 II

    2024-01-13 09:44:06       59 阅读
  4. ABC210(A-C)

    2024-01-13 09:44:06       50 阅读
  5. H12-821_230

    2024-01-13 09:44:06       57 阅读
  6. H12-821_210

    2024-01-13 09:44:06       42 阅读

最近更新

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

    2024-01-13 09:44:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-13 09:44:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-13 09:44:06       82 阅读
  4. Python语言-面向对象

    2024-01-13 09:44:06       91 阅读

热门阅读

  1. 数据截取处理、富文本去除所有标签

    2024-01-13 09:44:06       51 阅读
  2. 使用Linux搭建svn

    2024-01-13 09:44:06       56 阅读
  3. 后端获取来访url

    2024-01-13 09:44:06       52 阅读
  4. 在Ubuntu系统中,要优化文件句柄数、线程和网络

    2024-01-13 09:44:06       54 阅读
  5. LeetCode2085. Count Common Words With One Occurrence

    2024-01-13 09:44:06       48 阅读
  6. Mysql适配国产化数据库人大金仓冲突记录

    2024-01-13 09:44:06       49 阅读
  7. Debian防火墙设置

    2024-01-13 09:44:06       57 阅读
  8. Spring Boot项目中校验器的使用与注意事项

    2024-01-13 09:44:06       44 阅读
  9. 快速预览图片类PDF报告,PDF转文字并统计词频

    2024-01-13 09:44:06       57 阅读