reverse a singly linked list.
example:
input:1->2->3->4->5->null
output:5->4->3->2->1->null
就地反轉法
新建鍊錶,頭節點插入法
遞迴反轉法
不囉嗦,直接看**
(單鏈表實現看之前文章
/**
* 實現單鏈表的反轉(leetcode206)
* * @author llspace
* @since 2019-04-12
*/public class singlelinkedlistreverse
singlelinkedlist.print();
//測試單鏈表反轉
//singlelinkedlist = reverse(singlelinkedlist);
//singlelinkedlist = reverse1(singlelinkedlist);
singlelinkedlist = reverse2(singlelinkedlist);
singlelinkedlist.print();
}/**
* 就地反轉法
** @param input
* @return
*/public static singlelinkedlistreverse(singlelinkedlistinput)
return input;
}/**
* 新建鍊錶,頭節點插入法
** @param input
* @return
*/public static singlelinkedlistreverse1(singlelinkedlistinput)
return output;
}/**
* 遞迴反轉法
** @param input
* @return
*/public static singlelinkedlistreverse2(singlelinkedlistinput)
public static singlelinkedlist.nodereversenode(singlelinkedlist.nodehead)
singlelinkedlist.nodenode = reversenode(head.next);
head.next.next = head;
head.next = null;
return node;
}}
實現單鏈表反轉
實現單鏈表反轉主要思路 需要注意的是 鍊錶在使用結束後,需要釋放記憶體 如果是new的要delete,malloc的要free 具體 如下所示 包含遞迴和非遞迴兩種方法 pragma once ifndef list h define list h include using namespace s...
單鏈表反轉
單鏈表反轉,可以用迴圈做,當然也可以遞迴 詳見 include includestruct node 3 1 4 6 2 1 1 3 4 6 2 2 4 1 3 6 2 3 6 4 1 3 2 4 2 6 4 1 3 5 迴圈反轉,即依次改動3個指標值,直到鍊錶反轉完成 比如,上面第 1 行到第 2...
反轉單鏈表
include stdafx.h include include using namespace std struct listnode typedef listnode plistnode typedef plistnode list list creatlist return head void...