关闭

剑指offer--反转链表

标签: 数据结构链表剑指offer-java实现牛客网在线编程
229人阅读 评论(0) 收藏 举报
分类:

题目描述
输入一个链表,反转链表后,输出链表的所有元素。


思路:
反转链表只需改变链接方向,改变方向时需要将原本指向后一个结点的链接方向指向前一个结点,因此需要记录下三个结点。


AC代码:

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Solution {
    public ListNode ReverseList(ListNode head) {
        ListNode cur = head;
        ListNode next = null;
        ListNode pre = null;

        if ( head == null || head.next == null){
            return head;
        }

        while(cur != null){
            next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }

        return pre;
    }
}
0
0
查看评论

剑指offer--反转链表

题目描述 输入一个链表,反转链表后,输出链表的所有元素。 /*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-11 12:26
  • 889

剑指offer-- 反转链表

题目:反转链表,输入一个链表,输入该链表的反转解析:这道题没有什么思想,就是最基本的链表运算,但是牵扯了很多指针的变换,所以,经常拿出来考,大家熟记就好了/* public class ListNode { int val; ListNode next = null; List...
  • yuwenhao07
  • yuwenhao07
  • 2017-05-04 17:25
  • 87

剑指Offer:面试题6重建二叉树

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 前序遍历:是先根节...
  • u012162920
  • u012162920
  • 2016-08-17 14:18
  • 220

剑指offer--面试题16: 反转链表

 题目描述 输入一个链表,反转链表后,输出链表的所有元素。 python实现: # -*- coding:utf-8 -*- # class ListNode: #     def __init__(self, x): #  &...
  • qingyujean
  • qingyujean
  • 2016-09-26 14:39
  • 142

剑指offer--面试题24:反转链表

#include #include //****************************************宏定义****************************************************** typedef int ElemType; typedef st...
  • u010726692
  • u010726692
  • 2017-07-15 20:42
  • 131

剑指Offer——重建二叉树——C++

重建二叉树 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:根据前序第一个字符是...
  • hellozmz
  • hellozmz
  • 2016-11-25 10:52
  • 814

剑指offer--字符串

C/C++中每个字符串都以字符’\0’作为结尾,这样我们就可以很方便的找到字符串最后的尾部。由于这个特点,每个字符串中都有一个额外字符的开销,稍不留神就会造成字符串的越界。 为了节省内存,C/C++把常量字符串放到单独的一个内存取余。当几个指针赋值给相同的常量字符串时,它们实际上会指向相同的内存地...
  • neal1991
  • neal1991
  • 2015-11-14 14:49
  • 343

剑指offer--替换空格

题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-10 22:12
  • 814

剑指offer--正则表达式

-实在是不会,先放一放 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式...
  • obession
  • obession
  • 2017-08-16 16:15
  • 78

剑指offer--跳台阶

跳台阶1:题目: 思路: 递归思想:可以理解为前面m步的情况加上最后一步的情况,前面m步理解为,m-1步加上最后一步的情况。     最后一步分为2中情况,上1级和上2级。代码如下:class Solution { public: int jumpFloor(int num...
  • u010308400
  • u010308400
  • 2015-04-25 23:08
  • 259
    个人资料
    • 访问:155561次
    • 积分:4927
    • 等级:
    • 排名:第6843名
    • 原创:329篇
    • 转载:0篇
    • 译文:0篇
    • 评论:80条
    博客专栏
    最新评论