LeetCode-160-相交鏈表

題目描述:給你兩個(gè)單鏈表的頭節(jié)點(diǎn) headA 和 headB ,請你找出并返回兩個(gè)單鏈表相交的起始節(jié)點(diǎn)。如果兩個(gè)鏈表沒有交點(diǎn),返回 null 。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:HashSet
利用java的
HashSet
去重,遍歷2個(gè)鏈表headA和headB,將每個(gè)結(jié)點(diǎn)放入HashSet
里notRepeatNodes,如果能放進(jìn)去,說明未相交,繼續(xù)遍歷下一個(gè)結(jié)點(diǎn);如果放不進(jìn)去,由于已說明headA和headB不存在環(huán),說明此結(jié)點(diǎn)是相交結(jié)點(diǎn),返回當(dāng)前結(jié)點(diǎn)。最后如果都遍歷完了還沒找到相交結(jié)點(diǎn),說明2個(gè)鏈表不相交,直接返回null。
【每日寄語】 懷著一顆寬容的心去生活,再擁擠的世界也會變得無限寬廣,再平凡的人生也會變得充滿陽光。
標(biāo)簽: