zoukankan      html  css  js  c++  java
  • 翻转链表

    public class ReverseLink{
        static class LNode{
            int data;
            LNode next;
            public LNode(int data){
                this.data = data;
            }
        }
        LNode head;
        LNode current;
        public void add(int data){
            if(head==null){
                head = new LNode(data);
                current = head;
            }else{
                current.next = new LNode(data);
                current = current.next;
            }
        }
        public void print(LNode node){
            LNode temp = node;
            while(temp!=null){
                System.out.println(temp.data);
                temp = temp.next;
            }
        }
        public LNode reverse(LNode node){
            if(node == null) return null;
            LNode current = node;
            LNode pre = null;
            LNode next = null;
            while(current!=null){
                next = current.next;
                current.next=pre;
                pre=current;
                current =next;
            }
            return pre;
        }
        public static void main(String[] args){
            ReverseLink r = new ReverseLink();
            for(int i=1;i<10;i++){
                r.add(i);
            }
            r.print(r.head);
            System.out.println("----------------");
            LNode result = r.reverse(r.head);
            r.print(result);
            //链表为null
            // LNode head = new LNode(5);
            // LNode result = r.reverse(head);
            // r.print(result);
            
            
        }
    }
    

      这种情况下要考虑:输入参数为 null、输入参数中只有一个节点、输入正常的链表是否可以正常返回。

  • 相关阅读:
    「2019纪中集训Day20」解题报告
    PHP基础入门
    javascript
    正则表达式
    DOM 节点
    对象
    字符串
    函数
    for循环
    jQuery
  • 原文地址:https://www.cnblogs.com/yingpu/p/9202612.html
Copyright © 2011-2022 走看看