博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出单链表的中间位置指针
阅读量:7246 次
发布时间:2019-06-29

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

需求

单链表不可以用下标直接得到中间位置,可以采取一前一后(前面的走2步,后面的走一步)的方式实现。

 

参考代码1

struct ListNode {     int val;     ListNode *next;     ListNode(int x) : val(x), next(NULL) {} };ListNode* Partition(ListNode *beg){    if (beg == NULL || beg->next == NULL)        return beg;    ListNode *rev = beg;    ListNode *cur = beg->next;    while(cur->next != NULL && cur->next->next != NULL)    {        rev = rev->next;        cur = cur->next->next;    }    return rev->next;}

 效果

 

如果想返回前一指针,可以改成这样

参考代码2

struct ListNode {     int val;     ListNode *next;     ListNode(int x) : val(x), next(NULL) {} };ListNode* Partition(ListNode *beg){    if (beg == NULL || beg->next == NULL)        return beg;    ListNode *rev = beg;    ListNode *cur = beg->next;    while(cur->next != NULL && cur->next->next != NULL)    {        rev = rev->next;        cur = cur->next->next;    }    return rev->;}

效果

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

你可能感兴趣的文章
Android Cordova微信插件动态包名处理
查看>>
Java调用Matlab程序
查看>>
angular ng-include 指令的使用
查看>>
Common Lisp通过CFFI调用C动态库
查看>>
Beyond SQLi: Obfuscate and Bypass
查看>>
Spring(二):配置和简单使用
查看>>
Java中的try-catch机制的要点
查看>>
web.xml 中的listener、 filter、servlet 加载顺序及其详解
查看>>
group by,having,where
查看>>
shiro概念(转)
查看>>
Android中attrs.xml
查看>>
Eclipse开启错误“Failed to create the java virtual mach
查看>>
Struts2.3.15.2配置
查看>>
ubuntu 14.04下chrome显示标题乱码问题
查看>>
eclipse hadoop2.7.3 环境搭建
查看>>
Jacob模板替换生成word文件、word合并、word转pdf文件
查看>>
代理模式
查看>>
IE6,IE7 DIV固定高度的技巧
查看>>
浅谈CSS不常用的设置(1)——image-rendering
查看>>
五种常见的 PHP 设计模式
查看>>