王道課後習題2 3 8 找出兩個鍊錶的公共結點

2021-09-26 09:08:44 字數 1282 閱讀 9844

題目描述:

給定兩個單鏈表,編寫演算法找出兩個鍊錶的公共結點。

演算法思想:

核心**:

#include #include typedef struct lnode//如果不在這裡加lnode,結構體內的lnode*就會報錯

lnode;

int length(lnode* l)//注意:這裡之前寫成了int length(lnode* &l)用的引用。

//這樣的話,head1和head2最後都會變成null。難怪執行不對。

return k;

}lnode* find_pubilc_node(lnode* &head1,lnode* &head2)//不帶頭結點

else

int k=longlen-shortlen;

while((k--)!=0)//這裡忘記--了

//while(longlist&&shortlist&&longlist->data!=shortlist->data)這裡不是找相同的值

while(longlist!=null)

}return null;

}lnode* headinsert(lnode* &head)

return head->next;

//return head;

/*根據需要返回

1.return head帶頭結點的鍊錶

2.return head->next不帶頭結點的鍊錶

*/}lnode* tailinsert(lnode* &head)

r->next=null;//記得這句

return head->next;

//return head;

}void tailinsert_publicnode(lnode* &head1,lnode* &head2)

printf("l2:\n");

lnode *r2=head2;

scanf("%d",&x);

while(x!=999)

printf("public:\n");

scanf("%d",&x);

while(x!=999)

r1->next=null;//記得這句

r2->next=null;//記得這句

//return head;

}void printlist(lnode* l)

}int main()

王道課後習題2 3 22 兩個鍊錶的共同字尾

題目描述 帶頭結點的單鏈表,尋找兩個鍊錶的共同字尾的起始位置。演算法思想 雙指標法 核心 雙指標法 int length lnode l 注意 這裡之前寫成了int length lnode l 用的引用。這樣的話,head1和head2最後都會變成null。難怪執行不對。return k lnod...

鍊錶課後複習題 王道

目錄 1.設計乙個遞迴演算法,刪除不帶頭結點的單鏈表l中所有值為x的結點。2.刪除帶頭結點的單鏈表l中所有值為x的結點。3.在帶頭結點的單鏈表l中從尾到頭反向輸出每個結點的值 4.帶頭結點單鏈表l中刪除乙個最小值結點的比較高效的演算法,假設最小值結點唯一 5.將帶頭結點的鍊錶就地逆置 明日繼續更 以...

鍊錶 找出兩個鍊錶的交點

一 暴力求解法 思路 有2個鍊錶,所以我們可以使用雙重迴圈,先遍歷第乙個鍊錶,在遍歷第乙個鍊錶的同時裡面巢狀遍歷第二個鍊錶。如下 這裡需要注意的是第二個鍊錶會多次的遍歷,所以遍歷完一次之後需要將指標?放到第乙個節點上面,這樣才可以繼續遍歷這個鍊錶。暴力法求解 遍歷2個鍊錶 param heada p...