题解 | #合并两群能量值#
合并两群能量值
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题的解法思路

顺丰集团工作强度 301人发布