# 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在内存中的地址。