# Definition for singly-linked list.
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
class Solution(object):
tmp = ListNode(0)#ListNode()爲LeetCode給出的函數,代碼塊頂部有詳細定義
res = tmp
print("000 tmp is ",tmp)
print("000 tmp.next is,",tmp.next)
print("000 res is ",res)
print("000 res.next is,",res.next)
res.next = ListNode(1)#將res指向ListNode(1),此時res.next的值由None變爲ListNode(1)在內存中的地址。
print("111 res is ",res)
print("111 res.val is ",res.val)
print("111 res.next is,",res.next)
node0=res.next
print("00011 res is ",res)
print("00011 res.val is ",res.val)
print("00011 res.next is,",res.next)
print("node0.val is",node0.val)
print("node0.next is ",node0.next)
print("node0 is ",node0)
node1=ListNode(2)#定義一個節點,節點的值域是2,指針域是None.
print("0000 node1.next is",node1.next)
node1.next=res#將node1指向res,此時 node1的值域是2,指針域由None變爲res在內存中的地址。
print("1111 node1 =",node1)#node1即表示節點,也表示節點在內存中的地址值。
print("1111 node1.next=",node1.next)
print("1111 node1.val=",node1.val)
print("111111 res is ",res)
print("111111 res.val is ",res.val)
print("111111 res.next is ",res.next)
print("1111 node0 is ",node0)
print("1111node0.val is",node0.val)
print("1111node0.next is ",node0.next)
#return 0
Solution()
注意:1,res 表示的是節點的名字,也表示的是節點在內存中的地址。
2,每個節點有兩個部分,左邊部分稱爲值域,用來存放用戶數據;右邊部分稱爲指針域,用來存放指向下一個元素的指針。指針域的值就是所指向的下個節點在內存中的地址。這本例中:node1.next就是node1的指針域,通過node1.next=res,將node1指向了res(res表示的是res在內存中的地址),所以node1.next的值是res在內存中的地址。