-
Notifications
You must be signed in to change notification settings - Fork 57
Expand file tree
/
Copy pathmerge_two_sorted_lists.py
More file actions
75 lines (71 loc) · 2.94 KB
/
merge_two_sorted_lists.py
File metadata and controls
75 lines (71 loc) · 2.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# coding: utf-8
# ## ##
# ##### # ####
# ######### ## #######
# ### ############ ##
# #### # ####### #########
# ########### ######### # ########### ##
# ############# ### #### ## #### ######## ##
# ## ## ## ## ### ######### ######### ### ## # ### ## #
# ## ## ## ### ######## ########## #### ## ### #### ### ##### ####
# ## #### ## ## ######### ########## ######## ##### #### #### ##### #####
# ###### #### ## ## ### ## ### ############ ## ### ## ## ## ### ### ##### ### ##
# #### ##### ## ### ### ###### ############ ## ## ##### ### ## ### ### #####
# ## ## ### ### ### ### ######### ############## ### ## #### ## ### ##### #### ####
# ## ### ## ## ## ### ##### ############## ####### ##### ##### ##### ### ######
# ## ### ## ####### ###### ############### #### ## ## # ###
# ## ###### ####### ##### ################# ###
# ## ### ## ## ### ################# ##
# ## ## ################### ##
# ## ### ######################
# ## # ## #
# ##
# author: RaPoSpectre
# time: 2016-11-25
# Definition for singly-linked list.
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
class Solution(object):
def mergeTwoLists(self, l1, l2):
"""
:type l1: ListNode
:type l2: ListNode
:rtype: ListNode
"""
p1 = l1
p2 = l2
lr = ListNode('head')
pr = lr
while p1 or p2:
if p1 and p2:
if p1.val >= p2.val:
pr.next = p2
p2 = p2.next
else:
pr.next = p1
p1 = p1.next
elif p1 and not p2:
pr.next = p1
p1 = p1.next
elif p2 and not p1:
pr.next = p2
p2 = p2.next
pr = pr.next
return lr.next
# l1 = ListNode(1)
# l2 = ListNode(2)
# l3 = ListNode(3)
# l1.next = l2
# l2.next = l3
#
# l4 = ListNode(2)
# l5 = ListNode(5)
# l4.next = l5
#
# lr = Solution().mergeTwoLists(l1, l4)
#
# while lr:
# print lr.val
# lr = lr.next