翻转链表:
需要经过一下步骤:
第一步:定义Node类
第二步:构造出一个链式表;
第三部:写一个翻转链表的函数:
第四部,在主函数中依次调用构建链表、翻转链表
具体函数如下:
package cetcocean;/**
* @description:
* @author: fangchangtan
* @create: 2019-01-10 15:01
*/
import java.util.Scanner;
/**
* @description:
* @author: fangchangtan
* @create: 2019-01-10 15:01
* */
public class Square {
public static void main(String[] args) {
//构造生成链表:并拿到头结点
Node head = ListNode.getSingleList();
ListNode.printList(head);
Node resultNode = reverseList(head);
ListNode.printList(resultNode);
}
public static Node reverseList(Node head) {
Node resultNode = null;
Node now = head;
while (now != null) {
Node next = now.next;
now.next = resultNode;
resultNode = now;
now = next;
}
return resultNode;
}
}
/*
定义node节点的俄数据结构
*/
class Node{
int data;
Node next;
Node(int data) {
this.data = data;
}
}
/*
自定义ListNode:链表
*/
class ListNode {
public static Node getSingleList(){
Node head = new Node(4);
Node node2 = new Node(3);
Node node3 = new Node(2);
Node node4 = new Node(1);
head.next = node2;
node2.next = node3;
node3.next = node4;
return head;
}
public static void printList(Node node) {
System.out.println("List is : ");
while (node != null) {
System.out.print(node.data +",");
node = node.next;
}
}
}
最终结果: