java翻转链表

翻转链表:
需要经过一下步骤
第一步:定义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;
        }
    }
}

最终结果
List is :4,3,2,1,List is :1,2,3,4,

猜你喜欢

转载自blog.csdn.net/fct2001140269/article/details/86236717