Skip to content

Commit 60d4754

Browse files
committed
Create 237. Delete Node in a Linked List.py
1 parent a41de54 commit 60d4754

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed

237. Delete Node in a Linked List.py

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# -*- coding: utf-8 -*-
2+
# @Time : 2019/3/4 15:26
3+
# @Author : xulzee
4+
5+
# @File : 237. Delete Node in a Linked List.py
6+
# @Software: PyCharm
7+
8+
# Definition for singly-linked list.
9+
class ListNode:
10+
def __init__(self, x):
11+
self.val = x
12+
self.next = None
13+
14+
15+
class Solution:
16+
def deleteNode(self, node):
17+
"""
18+
:type node: ListNode
19+
:rtype: void Do not return anything, modify node in-place instead.
20+
"""
21+
node.val = node.next.val
22+
node.next = node.next.next
23+
24+
25+
def stringToListNode(nums):
26+
# Generate list from the input
27+
numbers = nums
28+
29+
# Now convert that list into linked list
30+
dummyRoot = ListNode(0)
31+
ptr = dummyRoot
32+
for number in numbers:
33+
ptr.next = ListNode(number)
34+
ptr = ptr.next
35+
36+
ptr = dummyRoot.next
37+
return ptr
38+
39+
40+
def listNodeToString(node):
41+
if not node:
42+
return "[]"
43+
44+
result = ""
45+
while node:
46+
result += str(node.val) + ", "
47+
node = node.next
48+
return "[" + result[:-2] + "]"
49+
50+
51+
def main():
52+
try:
53+
line = [1, 2, 3]
54+
node = stringToListNode(line)
55+
n = 1
56+
57+
ret = Solution().deleteNode(node, n)
58+
59+
out = listNodeToString(node)
60+
if ret is not None:
61+
print("Do not return anything, modify node in-place instead.")
62+
else:
63+
print(out)
64+
except StopIteration:
65+
pass
66+
67+
68+
if __name__ == '__main__':
69+
main()

0 commit comments

Comments
 (0)