【数据结构与算法】判断两个无环单链表是否相交的算法
生活随笔
收集整理的這篇文章主要介紹了
【数据结构与算法】判断两个无环单链表是否相交的算法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
帶環(huán)單鏈表的故事
@不了解前塵往事的Reader,煩請(qǐng)閱讀——《判斷單鏈表是否有環(huán)的算法》
不過我們這里不考慮帶環(huán)單鏈表,且無環(huán)單鏈表相交也只是相交一次,不穿過,這是一種不算復(fù)雜的情況吧。
問題分析
這里只說能想到的且比較可行的算法吧。
思路一:HashSet判重
把兩個(gè)鏈表的結(jié)點(diǎn)依次打入HashSet,打入前判重,如果有重,既然不是有環(huán),那就是相交了。
思路二:分別把兩個(gè)鏈表從頭跑到尾
兩個(gè)鏈表都從頭結(jié)點(diǎn)開始,一直跑到尾結(jié)點(diǎn)(事先未曾保存),看看尾結(jié)點(diǎn)一樣不一樣。
這思路也有些暴力,回頭想想怎么去優(yōu)化一些,先針對(duì)這個(gè)思路給出代碼吧。
Java編程實(shí)現(xiàn)思路二
public class Main {private static class</總結(jié)
以上是生活随笔為你收集整理的【数据结构与算法】判断两个无环单链表是否相交的算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】Matplotlib绘制
- 下一篇: 使用AspectJ注解技术实现AOP功能