• 手撕代码之反转单链表


    今天去际链面试,结果在coding这一关又折了。

    那就总结一下吧,就当再手撕一下代码

    首先定义一个listNode:

    public class listNode {
        int data;
        listNode next;
        public listNode(int data, listNode next) {
            this.data = data;
            this.next = next;
        }
    }

    定义方法:

    public class listNodeReverse {
        public static void main(String[] args) {
            listNode D = new listNode(4, null);
            listNode C = new listNode(3, D);
            listNode B = new listNode(2, C);
            listNode A = new listNode(1, B);
            listNode  node= reverse(A);
            System.out.println("null");
        }
        public static listNode reverse(listNode listnode) {
            //迭代的思想
            listNode pre = null;
            listNode now = listnode;
            while (now != null) {
                listNode next =now.next;
                now.next=pre;
                pre = now;
                now=next;
            }
            return pre;
        }
    
    }

    执行结果:

    单向链表的反转还有其他高效的方法,欢迎交流学习!!!!!

  • 相关阅读:
    归并排序
    堆排序
    数组数据生成器
    冒泡排序
    快速排序
    希尔排序
    排序接口与抽象类(java)
    Pycharm下HTMLTestRunner不生成测试报告
    抓包工具使用记录
    接口学习笔记
  • 原文地址:https://www.cnblogs.com/xiaonantianmen/p/9806643.html
Copyright © 2020-2023  润新知