博客
关于我
牛客网算法——名企高频面试题143题(13)
阅读量:400 次
发布时间:2019-03-04

本文共 2610 字,大约阅读时间需要 8 分钟。

????

?????????????????????????????????????????????????????????????

???????

??

?????????????????????????????

  • ????????pre?curr??????????????????
  • ??????????????????
  • ?????????????????pre???????
  • ??pre?curr??????????????????
  • ???????pre????????????
  • ???????????O(n)???????O(1)???????????????

    ????

    public class ????II {    public class ListNode {        int val;        ListNode next;        public ListNode(int val) {            this.val = val;        }    }    public ListNode rever(ListNode head) {        if (head == null) {            return null;        }        ListNode pre = null;        ListNode curr = head;        while (curr != null) {            ListNode future = curr.next;            curr.next = pre;            pre = curr;            curr = future;        }        return pre;    }        public static void main(String[] args) {        // ????        ListNode s1 = new ListNode(1);        ListNode s2 = new ListNode(2);        ListNode s3 = new ListNode(3);        ListNode s4 = new ListNode(4);        s1.next = s2;        s2.next = s3;        s3.next = s4;        ListNode res = rever(s1);        while (res != null) {            System.out.println(res.val);            res = res.next;        }    }}

    ??????????

    ????????????????????????????????????????????

  • ????dummy??????????????
  • ???????????dummy?????????
  • ????????pre?curr?????dummy?????????
  • ????????????????????
  • ?????????dummy????????????????????
  • ????????O(n)???????O(1)???????

    ????

    public class ????II {    public class ListNode {        int val;        ListNode next;        public ListNode(int val) {            this.val = val;        }    }    public ListNode rever1(ListNode head) {        if (head == null) {            return null;        }        ListNode dumy = new ListNode(0);        dumy.next = head;        ListNode pre = dumy;        ListNode curr = head;        while (curr.next != null) {            ListNode future = curr.next;            curr.next = future.next;            future.next = dumy.next;            pre.next = future;        }        return dumy.next;    }        public static void main(String[] args) {        // ????        ListNode s1 = new ListNode(1);        ListNode s2 = new ListNode(2);        ListNode s3 = new ListNode(3);        ListNode s4 = new ListNode(4);        s1.next = s2;        s2.next = s3;        s3.next = s4;        ListNode res = rever1(s1);        while (res != null) {            System.out.println(res.val);            res = res.next;        }    }}

    ????

    ???????1?2?3?4???????4?3?2?1?????????????????

    4321

    ??

    ???????????????????????????????????????????????????????????????????????????????

    转载地址:http://wqch.baihongyu.com/

    你可能感兴趣的文章
    python中的负零
    查看>>
    Python中的进程通信
    查看>>
    Python中的递归有多安全?
    查看>>
    python中程序如何获取实现多行输入
    查看>>
    python中算法与数学_中国古代数学算法的Python实现
    查看>>
    python中类的实例化_python类的实例化
    查看>>
    Python中类的约束
    查看>>
    python中自定义sort 规则
    查看>>
    python中自定义错误_在现代Python中声明自定义异常的正确方法?
    查看>>
    python中获取上一个月一号的方法
    查看>>
    python中蜂窝网格边缘的坐标
    查看>>
    Python中表示偶数_分享一组 Python 高效编程的实用技巧
    查看>>
    Python中赋值,深拷贝和浅拷贝
    查看>>
    python中输出字符串的和数字的几种方式
    查看>>
    Python中进行特征重要性分析的9个常用方法
    查看>>
    Python中通过MyQR生成gif动图二维码
    查看>>
    Python中通过PyPDF2实现PDF加密
    查看>>
    Python中通过PyPDF2实现PDF合并
    查看>>
    Python中通过PyPDF2实现PDF拆分
    查看>>
    Python中通过PyPDF2实现PDF添加水印
    查看>>