其他分享
首页 > 其他分享> > Leetcode69场双周赛-第二题5961.链表最大孪生和

Leetcode69场双周赛-第二题5961.链表最大孪生和

作者:互联网

5961. 链表最大孪生和

题目描述

 

 

解题思路

开始的时候,可能想到快慢指针、想到栈等等,但后来发现,只需要将链表中的数字转存到ArrayList里面,然后遍历,遍历到一半,统计一个最大值就可以了。

解题代码


import java.util.ArrayList;

class ListNode {
    int val;
    ListNode next;

    ListNode() {
    }

    ListNode(int val) {
        this.val = val;
    }

    ListNode(int val, ListNode next) {
        this.val = val;
        this.next = next;
    }
}

public class Solution5961 {
    public int pairSum(ListNode head) {
        ArrayList<Integer> arrayList = new ArrayList<>();
        ListNode p = head;

        while (p != null) {
            arrayList.add(p.val);
            p = p.next;
        }

        int n = arrayList.size();
        int res = Integer.MIN_VALUE;
        for (int i = 0; i <= (n / 2) - 1; i++) {
            res = Math.max(res, arrayList.get(i) + arrayList.get((n - 1 - i)));
        }

        return res;
    }
}

解题结果

 

 

标签:ListNode,val,Leetcode69,ArrayList,双周,next,链表,int
来源: https://blog.csdn.net/Kangyucheng/article/details/122394662