Lintcode 904. Plus One Linked List (Medium) (Python)
阿新 • • 發佈:2018-12-09
Plus One Linked List
Description:
Given a non-negative integer represented as non-empty a singly linked list of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
Example Given head = 1 -> 2 -> 3 -> null, return 1 -> 2 -> 4 -> null.
Code:
"""
Definition of ListNode
class ListNode(object):
def __init__(self, val, next=None):
self.val = val
self.next = next
"""
class Solution:
"""
@param head: the first Node
@return: the answer after plus one
"""
def plusOne(self, head):
# Write your code here
def dfs(node):
if not node.next or dfs(node.next):
(node.val, add) = (node.val+1, False) if node.val<9 else (0, True)
return add
return head if not dfs(head) else ListNode(1, head)