剑指offer python版 反转链表

class ListNode(object):
    def __init__(self,x):
        self.val=x
        self.next=None
        
class Link(object):
    def __init__(self,values=None):
        self.nodes=self.set_link(values) if  values else None
        
    def get_link(self):
        return self.nodes
    def set_link(self,values):
        if not values :
            return False
        head=ListNode(0)
        move=head
        
        
        try:
            for i in values:
                tmp=ListNode(i)
                move.next=tmp
                move=move.next
                
        except Exception as e:
            print(e)
            
        return head.next
def aa(head):
    if not head and not head.next:
        return head
    then=head.next
    head.next=None
    last=then.next
    while then:
        then.next=head
        head=then
        then=last
        if then:
            last=then.next
            
    return head.val

a=Link([1,2,3,3,4,5,6,7])

b=a.get_link()

print (aa(b))

 

posted @ 2018-10-25 17:08  findtruth123  阅读(124)  评论(0编辑  收藏  举报