較長的鍊錶先進行遍歷至兩個鍊錶的長度一致,注意考慮鍊錶為空的時候。
從鍊錶的定義可知,若兩個單向鍊錶有公共結點,那從某一結點開始,兩個鍊錶的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的頭結點將是合併後鍊錶的頭結點。在兩個鍊錶中剩下的...