演算法 兩個鍊錶生成相加鍊錶

2021-10-10 23:40:54 字數 1090 閱讀 1932

題目描述

假設鍊錶中每乙個節點的值都在 0 - 9 之間,那麼鍊錶整體就可以代表乙個整數。

給定兩個這種鍊錶,請生成代表兩個整數相加值的結果鍊錶。

例如:鍊錶 1 為 9->3->7,鍊錶 2 為 6->3,最後生成新的結果鍊錶為 1->0->0->0。

public listnode addinlist (listnode head1, listnode head2)

if(head1 != null && head2 == null)

if(head1 == null && head2 == null)

stack

stack1 =

newstack

(); stack

stack2 =

newstack

();while

(head1 != null)

while

(head2 != null)

if(stack1.

size()

< stack2.

size()

) stack

stack3 =

newstack

();int temp =0;

while

(!stack2.

isempty()

)else

if(val ==10)

else

if(val <10)

}while

(!stack1.

isempty()

)else

if(v ==10)

else

if(v <10)

}if(temp >0)

listnode node =

newlistnode

(stack3.

pop())

; listnode tempnode = node;

//生成最後的結果鍊錶

while

(!stack3.

isempty()

)return node;

}

兩個鍊錶生成相加鍊錶

假設鍊錶中每乙個節點的值都在 0 9 之間,那麼鍊錶整體就可以代表乙個整數。給定兩個這種鍊錶,請生成代表兩個整數相加值的結果鍊錶。例如 鍊錶 1 為 9 3 7,鍊錶 2 為 6 3,最後生成新的結果鍊錶為 1 0 0 0。示例1 9,3,7 6,3 struct listnode class so...

兩個鍊錶生成相加鍊錶

假設鍊錶中每乙個節點的值都在 0 9 之間,那麼鍊錶整體就可以代表乙個整數。給定兩個這種鍊錶,請生成代表兩個整數相加值的結果鍊錶。例如 鍊錶 1 為 9 3 7,鍊錶 2 為 6 3,最後生成新的結果鍊錶為 1 0 0 0。示例1 9,3,7 6,3 方法二 使用棧,不需要反轉鍊錶 public l...

刷題 兩個鍊錶生成相加鍊錶

兩個鍊錶,分別表示2個整數,每個鍊錶的節點含有數值0 9 比如9 3 7 和 6 3 相加,得到1 0 0 0 解 將2個鍊錶分別反向,將反向後的鍊錶相加,將得到的鍊錶反向,即可得到解 1 兩個單鏈表生成相加鍊錶 2public static node addlist node head1,node...