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();
        }
    
    }
    人生如修仙,岂是一日间。何时登临顶,上善若水前。
  • 相关阅读:
    排序算法:冒泡排序
    排序算法: 插入排序
    排序算法:折半插入排序
    排序算法:快速排序
    浅谈C/C++回调函数(Callback)& 函数指针
    仿函数
    回溯法:求和
    动态规划:数字和为sum的方法数
    字典序
    剑指offer15 二进制中1的个数
  • 原文地址:https://www.cnblogs.com/f-society/p/10737759.html
Copyright © 2011-2022 走看看