题解 | #合并两群能量值#

合并两群能量值

https://www.nowcoder.com/practice/d728938f66ac44b5923d4f2e185667ec

  • 题目考察的知识点 :链表合并,本质还是移动链表节点
  • 题目解答方法的文字分析 : 思路就是用一个指针连接, 遍历两条链表, 谁的值大就把next指针指向它
  • 本题解析所用的编程语言:Python
  • 完整且正确的编程代码

# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param l1 ListNode类 
# @param l2 ListNode类 
# @return ListNode类
#
class Solution:
    def mergeEnergyValues(self , l1: ListNode, l2: ListNode) -> ListNode:
        # 考察知识点,链表合并,本质还是移动链表节点
        # 思路就是用一个指针连接, 遍历两条链表, 谁的值大就把next指针指向它

        if not l1:
            return l2
        if not l2:
            return l1
        if not l1 and not l2:
            return l1
        
        newHead = None
        if l1.val > l2.val:
            newHead = l1
            l1 = l1.next
        else:
            newHead = l2
            l2 = l2.next
        cur = newHead
        # 两两遍历
        while l1 and l2:
            if l1.val > l2.val:
                cur.next = l1
                l1 = l1.next
            else:
                cur.next = l2
                l2 = l2.next
            cur = cur.next
        # 到这里说明至少已经有一条链表被遍历完了
        if l1:
            cur.next = l1
        if l2:
            cur.next = l2
        return newHead
牛客高频top202题解系列 文章被收录于专栏

记录刷牛客高频202题的解法思路

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务