博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【面试算法】链表反转
阅读量:6870 次
发布时间:2019-06-26

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

今天来将一下面试中经常问到的一个问题:链表反转

【题目1】给一个单向链表,请编写一个函数,把链表反转,并把反转的链表返回。

假设给的节点为

class ListNode{    int val;    ListNode next;    public ListNode(int val){        this.val = val;        this.next = null;    }}

单向链表反转函数如下

public ListNode reverse1(ListNode head){    ListNode prev = null;    while(head != null){        ListNode next = head.next; //获取下一个节点        prev.next = head;          //更改上一个节点的指向          prev = head;               //上一个节点前进一位        head = next;               //head节点前进一位    }    return prev;}

【题目2】给一个双向链表,请编写一个函数,把链表反转,并把反转的链表返回。

假设给的节点为

class ListNode{    int val;    ListNode prev;    ListNode next;    public ListNode(int val){        this.val = val;        this.prev = null;        this.next = null;    }}

双向链表反转函数如下

public ListNode reverse2(ListNode head){    ListNode cur = null;    while(head != null){        cur = head;        head = head.next;        cur.next = cur.prev;        cur.prev = head;    }    return cur;}

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

你可能感兴趣的文章
每日英语:Poor Chinese Schools Tell Students: Bring Your Own Desks
查看>>
HDU 4268
查看>>
IE9中FCKEditor弹出层不好使的解决方法
查看>>
JBOSS java.lang.NoSuchFieldError: TRACE
查看>>
轻量级的jQuery表单验证插件 - HAPPY.js
查看>>
JavaScript 生成Guid
查看>>
jQuery+PHP+MySQL简单无限级联实现
查看>>
互联网创业的准备——版本控制与上线
查看>>
网站推广优化教程100条(SEO,网站关键字优化,怎么优化网站,如何优化网站关键字)...
查看>>
用c++和python写GUI程序(python嵌入方式)
查看>>
Code sample – socket client thread in Python
查看>>
2013年8月3日第31周六
查看>>
Android使用隐藏api的方法(使用被@hide的api)
查看>>
Robert Penner's Easing Functions
查看>>
Parallel for loops in .NET C# z
查看>>
mysql alter修改字段的长度 类型sql语句
查看>>
第24周二
查看>>
[轉載]史上最强php生成pdf文件,html转pdf文件方法
查看>>
[leetcode]Rotate List @ Python
查看>>
C#-Mdi多文档窗体及其子窗体的排列 ---ShinePans
查看>>