整理自B站LeedCode算法50讲,可以听听奥!
简单上代码
public class ListNode {
int val;
ListNode next; //下一个节点
public ListNode(int x,ListNode next){
this.val = x;
this.next = next;
}
迭代法:
public class fanzhuanlianbiaoTest {
//迭代
public static void main(String args[]){
ListNode node5 = new ListNode(5,null);
ListNode node4 = new ListNode(4,node5);
ListNode node3 = new ListNode(3,node4);
ListNode node2 = new ListNode(2,node3);
ListNode node1 = new ListNode(1,node2);
ListNode result = iterate(node1);
System.out.println(result);
}
public static ListNode iterate(ListNode head){
ListNode prve = null ;
ListNode next ;
ListNode curr = head;
while (curr != null) {
next = curr.next;
curr.next =prve;
prve = curr;
curr = next;
}
return prve;
}
}
测试如下(断点+结果):
原本顺序:
result: