チェーンテーブルの反転--Java実装
これはleetcodeの前の簡単な問題で、チェーンテーブルを反転することについて、javaで実現します.アルゴリズムがはっきりしているので、簡単に書いてください.空のチェーンテーブルであればnullを返します. そうでなければ、まず初期ヘッダノードを保持し、次のノードのnextポインタをheadに向け、headとtmpを後ろに移動する.注目すべきは、ここのtmp 2であり、tmp後のノード、すなわちtmpが後ろに移動したノードが保存されている. はとても分かりやすいので、だめなら図を描いてシミュレーションすればいいです.
具体的なコードは以下の通りです.
具体的なコードは以下の通りです.
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
public ListNode reverseList(ListNode head) {
if (head == null) {
return null;
}
ListNode oldHead = head;
ListNode tmp = head.next;
while (tmp != null) {
ListNode tmp2 = tmp.next;
tmp.next = head;
head = tmp;
tmp = tmp2;
}
oldHead.next = null
return head;
}