劍指offer之兩個鍊錶的第乙個公共結點

2021-10-20 03:26:11 字數 906 閱讀 9915

較長的鍊錶先進行遍歷至兩個鍊錶的長度一致,注意考慮鍊錶為空的時候。

從鍊錶的定義可知,若兩個單向鍊錶有公共結點,那從某一結點開始,兩個鍊錶的next均指向同乙個值。

公共結點:第乙個值相同且next指向相同的結點。

/*

public class listnode

}*/public

class

solution

for(

int i=

0;i< dis; i++

)while

((p1 != null)

&&(p2!= null)

&&(p1!= p2)

) listnode pp = p1;

return pp;

}//}

private

intnlength

(listnode head)

return length;

}}

/*

public class listnode

}*/public

class

solution

for(

int i=

0;i< dis; i++

)while

((p1.next != null)

&&(p2.next != null)

&&(p1.next != p2.next)

) listnode pp = p1;

return pp;

}//}

private

intnlength

(listnode head)

return length;

}}

劍指offer 合併兩個鍊錶

輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。新建乙個節點作為head,依次遍歷兩個陣列 時間複雜度 o n 空間複雜度 o 1 coding utf 8 class listnode def init self,x self.val x self.ne...

劍指offer 兩個鍊錶的合併

我怕是要丸,鍊錶合併不會寫了!題目 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,合成後的鍊錶滿足單調遞增。首先遞迴方法 struct listnode listnode reverselist listnode phead first next last return first 非遞迴 ty...

劍指offer之合併兩個排序的鍊錶

問題 輸入兩個遞增排序的鍊錶,合併這兩個鍊錶並使新鍊錶中的結點仍然是按照遞增排序的?需要合併的鍊錶為1和2,合併後的效果如3。分析 首先分析合併兩個鍊錶的過程。我們的分析從合併兩個鍊錶的頭結點開始。鍊錶1的頭結點的值小於鍊錶2的頭結點的值,因此鍊錶1的頭結點將是合併後鍊錶的頭結點。在兩個鍊錶中剩下的...