zoukankan      html  css  js  c++  java
  • 单链表反转

    Node节点类

    /**
     * @author wxl
     * @Title: Node
     * @ProjectName test
     * @Description: TODO
     * @date 2019-4-19 17:32
     */
    
    public class Node {
        private int data;
        private Node next;
    
        public Node(int data, Node next) {
            this.data = data;
            this.next = next;
        }
    
        public Node() {
        }
    
        @Override
        public String toString() {
            return "Node{" +
                    "data=" + data +
                    ", next=" + next +
                    '}';
        }
    
        public int getData() {
            return data;
        }
    
        public void setData(int data) {
            this.data = data;
        }
    
        public Node getNext() {
            return next;
        }
    
        public void setNext(Node next) {
            this.next = next;
        }
    }

    主类:

    /**
     * @author wxl
     * @Title: LinkReverse
     * @ProjectName test
     * @Description: TODO
     * @date 2019-4-19 17:32
     */
    public class LinkReverse {
        public static void main(String[] args) {
            Node head = new Node();
            head.setData(1);
            Node tmp = head;
            for(int i=2;i<=10;i++){
                Node node = new Node(i,null);
                tmp.setNext(node);
                tmp = node;
            }
            printNode(head);
            Node reverse = reverse(head);
            printNode(reverse);
        }
    
    
        public static Node reverse(Node head){
            if(head==null) return null;
            Node pre=null,cur=head,next=null;
            while(cur!=null){
                next=cur.getNext();
                cur.setNext(pre);
                pre=cur;
                cur=next;
            }
            return pre;
        }
    
    
        public static void printNode(Node head){
            if(head!=null){
                Node tmp = head;
                while(tmp!=null){
                    System.out.print(tmp.getData()+"->");
                    tmp = tmp.getNext();
                }
            }
            System.out.println();
        }
    
    }
    人生如修仙,岂是一日间。何时登临顶,上善若水前。
  • 相关阅读:
    [华为机试] 计算二进制数中1的个数
    vector释放
    opencv findcontours内存错误
    opencv的编译安装
    opencv SVM分类器模块的简单设计
    centos7.6安装FFMpeg
    centos安装jenkins
    centos 7.6安装Java
    Centos7 忘记密码的情况下,修改root或其他用户密码
    性能测试报告
  • 原文地址:https://www.cnblogs.com/f-society/p/10737759.html
Copyright © 2011-2022 走看看