鍊錶分段反轉

2021-10-05 18:24:54 字數 700 閱讀 9513

有乙個鍊錶 head, 給定乙個值 val, 按定長val 反轉鍊錶

input: 煉表頭 head, 定長 val

output: 反轉後的煉表頭

example: 輸入鍊錶[0, 1, 2, 3, 4, 5, 6], 長度為2,則輸出為 [1, 0, 3, 2, 5, 4, 6]

每次反轉,儲存一下上次的尾節點即可

#include

#include

using

namespace std;

/* * 鍊錶分段反轉

* 輸入 node* head, int key 段長

*/struct node};

node*

reversebylength

(node* head,

int len)

ppre-

>next = pre;

ppre = real_tail;

ppre-

>next = now;

}return dummy-

>next;

}node*

init_list()

return head;

}void

print

(node* head)

cout<}int

main()

鍊錶 反轉鍊錶

問題 兩兩交換鍊錶中的節點 問題 k 個一組翻轉鍊錶 問題鏈結 利用棧先進後出的特性,遍歷鍊錶,將每個結點加入棧中,最後進行出棧操作,先出棧的結點指向臨近的後出棧的結點。definition for singly linked list.struct listnode class solution ...

反轉鍊錶與分組反轉鍊錶

經典的反轉鍊錶,先上 public class listnode public class printlist system.out.println public class reverse public listnode reverse listnode root listnode pre nul...

鍊錶 鍊錶反轉I

package com.hnust.reversal public class listnode public listnode int value,listnode next override public string tostring 我們可以通過把鍊錶中鏈結節點的指標反轉過來,從而改變鍊錶的...