程式設計師面試金典 面試題 02 05 鍊錶求和

2022-08-29 16:36:30 字數 623 閱讀 6081

給定兩個用鍊錶表示的整數,每個節點包含乙個數字。

這些數字是反向存放的,也就是個位排在鍊錶首部。

編寫函式對這兩個整數求和,並用鍊錶形式返回結果。

示例:

輸入:(7 -> 1 -> 6) + (5 -> 9 -> 2),即617 + 295

輸出:2 -> 1 -> 9,即912

高階:假設這些數字是正向存放的,請再做一遍。

示例:

輸入:(6 -> 1 -> 7) + (2 -> 9 -> 5),即617 + 295

輸出:9 -> 1 -> 2,即912

兩個鍊錶依次相加放入乙個新煉表中。

時間複雜度:o(n)

空間複雜度:o(1)

class solution 

if (l2)

p->next = new listnode(sum % 10);

p = p->next;

c = sum / 10;

}if (c) p->next = new listnode(c);

return head->next;

}};

程式設計師面試金典 02 05 鍊錶求和

給定兩個用鍊錶表示的整數,每個節點包含乙個數字。這些數字是反向存放的,也就是個位排在鍊錶首部。編寫函式對這兩個整數求和,並用鍊錶形式返回結果。示例 輸入 7 1 6 5 9 2 即617 295 輸出 2 1 9,即912 高階 假設這些數字是正向存放的,請再做一遍。示例 輸入 6 1 7 2 9 ...

程式設計師面試金典 面試題 08 09 括號

括號。設計一種演算法,列印n對括號的所有合法的 例如,開閉一一對應 組合。說明 解集不能包含重複的子集。例如,給出 n 3,生成結果為 dfs搜尋,如果當前左括號用超了,右括號用超了,或者右括號的數量大於左括號的數量直接返回。而如果左右括號剛好用盡,代表生成乙個結果,記錄下來。然後就是遞迴,新增左括...

程式設計師面試金典 面試題 08 13 堆箱子

堆箱子。給你一堆n個箱子,箱子寬 wi 高hi 深di。箱子不能翻轉,將箱子堆起來時,下面箱子的寬度 高度和深度必須大於上面的箱子。實現一種方法,搭出最高的一堆箱子。箱堆的高度為每個箱子高度的總和。輸入使用陣列 wi,di,hi 表示每個箱子。示例1 輸入 box 1,1,1 2,2,2 3,3,3...