鍊錶Reverse List

2021-08-14 13:51:22 字數 1264 閱讀 1851

(一)reverse linked list

題目:逆轉鍊錶;

解答:使用兩個指標:prev和curt, 從頭到尾依次變換指標方向;

**:class solution

return prev;}}

(二)reverse linked list ii

題目:將鍊錶從m到n的位置逆轉;

解答:需要講m前乙個節點和n的後乙個節點儲存,以便逆轉完成後重新連線鍊錶;

**:class solution   

listnode dummy = new listnode(0);

dummy.next = head;

head = dummy;

for (int i = 1; i < m; i++)

listnode prev = head;

listnode cutleft = prev.next;

head = head.next;

listnode post = head.next;

for (int i = m; i < n; i++)

}prev.next = head;

cutleft.next = post;

return dummy.next;}}

(三)reverse nodes in k-group

題目:將鍊錶每k組元素進行逆轉;

例如:

given this linked list:1->2->3->4->5for k = 2, you should return:2->1->4->3->5for k = 3, you should return:3->2->1->4->5

原鍊錶:head -> n1 -> n2 -> ... -> nk -> nk+1;

變換後:head -> nk ->nk-1 -> ... -> n1 ->nk+1;

返回:n1;

**:class solution

return dummy.next;

}private listnode reversek(listnode head, int k)

reversepost = reversepost.next;

}while (head != reversepost)

reverseprev.next = prev;

reversehead.next = head;

return reversehead;}}

鍊錶 環形鍊錶

環形鍊錶也叫迴圈鍊錶 可以是雙鏈表 也可以是單鏈表 操作原理和單鏈表差不多,只是最後乙個節點不在指向空 null 而是頭 head 這裡以單鏈表舉例 description 環形鍊錶 author lzq date 2018 11 3 20 46 version 1.0 public class a...

鍊錶 初識鍊錶

鍊錶 前言 小弟初學資料結構,有錯誤的地方望大家不吝賜教 認識鍊錶 列表相比陣列更具有優勢,鍊錶不同於資料和其他資料結構依靠位置來進行訪問或者其他操作,如陣列是依靠下表來運算元據。而鍊錶是通過關係來尋找或者運算元據。鍊錶的特性 插入 和 刪除 效率高,只需要變更指向的鏈結點即可。但是隨即訪問操作的效...

鍊錶(鍊錶建立)

先找到了一些與單鏈表相關的概念 2.指標域 ai元素儲存指向後繼元素儲存位置的資訊 3.結點 包含資料域和指標域 4.單鏈表 每個結點只包含乙個指標域的線性表 5.頭指標 要素 鍊錶中第乙個結點的儲存位置 線性表最後乙個結點指標為空 6.頭結點 非要素 單鏈表第乙個結點前附設乙個結點 其指標域指向第...