兩個單鏈表生成相加鍊錶

2021-08-19 15:46:03 字數 854 閱讀 4846

【題目】

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

給定兩個這種鍊錶的頭節點head1和head2,請生成代表兩個整數相加值的結果鍊錶。

例如:9->3->7和6->3,相加結果為1->0->0->0

【**】

//兩個單鏈表生成相加鍊錶

//方法1:利用棧結構求解

public node addlist1(node head1,node head2)

while(head2!=null)

node node=null;

node pre=null;

int n1=0;

int n2=0;

int ca=0;//存進製

int n=0;//存相加值

while(!s1.isempty() || !s2.isempty())

if(ca==1)

return node;

}//方法2:利用鍊錶的逆序求解,省掉用棧的空間

public

static node addlist2(node head1,node head2)

if(ca==1)

relist(head1);//還原

relist(head2);

return node;//node是最高位,頭節點

}//鍊錶逆序

public

static node relist(node head)

return pre;

}

兩個單鏈表生成相加鍊錶

題目 假設鍊錶中每乙個節點的值都在0 9之間,那麼鍊錶整體就可以代表乙個整數。例如 9 3 7,可以代表整數937.給定兩個兩個這種鍊錶的頭結點head1和head2,請生成代表兩個整數相加值的結果鍊錶。例如 鍊錶1為9 3 7,鍊錶2為6 3,最後生成新的結果鍊錶為1 0 0 0。public c...

兩個單鏈表生成相加鍊錶

題目 兩個鍊錶生成相加鍊錶 程式設計師 面試指南 第21題 p66 難度 士 本題依舊有2種解法。不過首先說明一下,如果採用將鍊錶轉成系統中int型別的數的方法,當鍊錶過長時,int型別會溢位。我一開始就採用了這個方法,上來直接就0 20用例通過。然後書上第1種解法是採用棧的結構,將2個鍊錶分別依次...

兩個鍊錶生成相加鍊錶

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