牛客網刷題之複雜鍊錶

2021-09-26 16:13:49 字數 717 閱讀 3433

題目描述:

現在有乙個這樣的鍊錶:鍊錶的每乙個節點都附加了乙個隨機指標,隨機指標可能指向鍊錶中的任意乙個節點或者指向空。請對這個鍊錶進行深拷貝。

題目分析:

public

class

solution

//當前節點指向複雜鍊錶的頭結點

randomlistnode curnode=head;

//賦值原始鍊錶,並將新賦值的鍊錶與原始煉錶鏈在一起

while

(curnode!=null)

//任意節點的指向,當前節點n指向長鍊表中的s節點,則n『節點指向s節點的下乙個節點s』

curnode=head;

while

(curnode!=null)

else

curnode=curnode.next.next;

}//拆分鍊錶,奇數字置為原始鍊錶,偶數字置為賦值的鍊錶

curnode=head;

randomlistnode aux2node=

newrandomlistnode(0

);randomlistnode newnode=aux2node;

while

(curnode!=null)

return newnode.next;

}}

牛客網刷題 重排鍊錶

將給定的單鏈表 l l0 l1 l ln 重新排序為 l0 ln l1 l l2 l l 要求使用原地演算法,不能改變節點內部的值,需要對實際的節點進行交換。輸入 輸出 線性表 因為鍊錶沒有下表,我們可以現將鍊錶遍歷一遍,儲存到線性表中,然後再重排序 鍊錶中點 鍊錶逆序 合併鍊錶 先查詢鍊錶的中點,...

劍指刷題之複雜鍊錶複製

題目要求 輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 題目分析採用分治法解決該問題。一共分三步 第一步,複製鍊錶,插入的節點rando...

牛客網刷題

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 立華奏在學習初中數學的時候遇到了這樣一道大水題 設箱子內有 n 個球,其中給 m 個球打上標記,設一次摸球摸到每乙個球的概率均等,求一次摸球摸到打標記的球的概率 e...