leetcode 兩數相加II

2021-10-04 08:34:05 字數 1193 閱讀 5242

給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。

你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。

高階:如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。

示例:輸入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)

輸出: 7 -> 8 -> 0 -> 7

將兩個鍊錶反轉,然後建立乙個新鍊錶儲存每一位相加的結果,然後將新鍊錶再次反轉。

struct listnode*

reverselist

(struct listnode* head)

return prev;

}struct listnode*

addtwonumbers

(struct listnode* l1,

struct listnode* l2)

else

new_l1=new_l1->next;

new_l2=new_l2->next;

} temp=record->next;

new_list_head_node->next=

null

; record->next=

null

;free

(record);if

(new_l1==

null

&&new_l2==

null

)else}if

(new_l1==

null

&&new_l2!=

null

)else

new_l2=new_l2->next;}if

(carry)

else}if

(new_l2==

null

&&new_l1!=

null

)else

new_l1=new_l1->next;}if

(carry)

else

}return

null

;}

執行結果:

通過顯示詳情

執行用時 :12 ms, 在所有 c 提交中擊敗了96.91% 的使用者

記憶體消耗 :7.4 mb, 在所有 c 提交中擊敗了100.00%的使用者

leetcode 兩數相加 II

條件 給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。eg l1 2 4 3 6 l2 ...

兩數相加 II

給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3 5 6 4 ...

兩數相加 II

1.問題描述 給定兩個非空鍊錶來代表兩個非負整數。數字最高位位於鍊錶開始位置。它們的每個節點只儲存單個數字。將這兩數相加會返回乙個新的鍊錶。你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。高階 如果輸入鍊錶不能修改該如何處理?換句話說,你不能對列表中的節點進行翻轉。示例 輸入 7 2 4 3...