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、输入参数中只有一个节点、输入正常的链表是否可以正常返回。

  • 相关阅读:
    定位
    supervisor进程管理工具
    简单git使用命令
    django + Vue项目上线部署
    Vue配置浏览器头部图标和title
    vue打包项目后 谷歌浏览器可以打开,其他浏览器不行
    js反向解析爬取企**网站
    python常用排序算法
    python脚本demo
    request模块封装
  • 原文地址:https://www.cnblogs.com/yingpu/p/9202612.html
Copyright © 2011-2022 走看看