class Solution(object): def addTwoNumbers(self, l1, l2): """ :type l1: ListNode :type l2: ListNode :rtype: ListNode """ carry = 0 head = None; prev = None; while l1 or l2 or carry: n1 = l1.val if l1 else 0 n2 = l2.val if l2 else 0 carry, num = divmod(n1+n2+carry, 10) node = ListNode(num) if not head: head = node if not prev: prev = node else: prev.next = node prev = node if l1: l1 = l1.next if l2: l2 = l2.next return head head1 = ListNode.fromArray([5]) head2 = ListNode.fromArray([5]) s = Solution() s.addTwoNumbers(head1, head2).printChain()
__author__ = 'Lei Chen' ''' Given a sorted linked list, delete all duplicates such that each element appear only once. For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3. ''' from ListNode import ListNode class Solution(object): def deleteDuplicates(self, head): cur = head while cur : next = cur.next while next and cur.val == next.val: next = next.next cur.next = next cur = next return head input = ListNode.fromArray([1]) s = Solution() ret = s.deleteDuplicates(input) ret.printChain()