首页 > 其他 > 详细

手撕代码之反转单链表

时间:2018-10-18 00:24:54      阅读:235      评论:0      收藏:0      [点我收藏+]

今天去际链面试,结果在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;
    }

}

执行结果:

技术分享图片

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

 

手撕代码之反转单链表

原文:https://www.cnblogs.com/xiaonantianmen/p/9806643.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!