160相交鍊錶 c

2021-10-09 06:38:31 字數 995 閱讀 3772

寫在前面,小白從零刷題,在解答會寫出思路,正確答案,以及所有使用到的語法和知識點

思路就是很簡單下面注釋

class

solution

while

(headb!=

nullptr

)//首先遍歷鍊錶長度

if(i>j)

}else

}//求的倆鍊錶長度差,並指向同一長度的節點

while

(a!=

nullptr

) b=b-

>next;

a=a-

>next;

}return

nullptr;}

};//遍歷到指向同一節點時,返回該指標

class

solution

if(b==

null)}

return a;}}

;

簡潔答案

class

solution

return cur_a;}}

;

參考一下別人的**

class

solution

listnode* cur_b = headb;

while

(cur_b)

cur_b = cur_b-

>next;

}return

nullptr;}

};

自己的**

class

solution

while

(headb!=

nullptr

)return

nullptr;}

};

c++11nullptr關鍵字

find函式

方法一

160 相交鍊錶 C

最開始我的想法是分別遍歷2個鍊錶,得到2個長度。然後2個指標再次從頭開始,長鍊表的的指標先走差值,然後再同時走,如果碰到相等的就是相交節點。最後走到尾部兩個指標都是null,就沒有相交節點。從效率上說,這個想法是沒有問題的,但是在程式設計的時候就要區分哪乙個長哪乙個短,比較繁瑣。而 的思路則是,讓p...

160 相交鍊錶

編寫乙個程式,找到兩個單鏈表相交的起始節點。如下面的兩個鍊錶 在節點 c1 開始相交。示例 1 輸入 intersectval 8,lista 4,1,8,4,5 listb 5,0,1,8,4,5 skipa 2,skipb 3 輸出 reference of the node with valu...

160 相交鍊錶

題目描述 題目問題和難點 1.是找相交的那個節點,而不是值相等的節點。示例中1的值相同但不是相交的節點 2.此題目不考慮有環的鍊錶所以思路很簡單。public static listnode getintersectionnode listnode heada,listnode headb 1.獲取...