博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode day7
阅读量:6231 次
发布时间:2019-06-21

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

这道题弄的心好累。。

 【】206

描述:

Reverse a singly linked list.

Hint:

A linked list can be reversed either iteratively or recursively. Could you implement both?

 

思路:

增加一个全局节点newHead,用来指向新的头部,用用一个临时节点next来遍历整个链表,用来当旧的头部head,例如链表1-2-3-4,第一遍循环,newhead指向1,指向null,head是2,指向剩余的链表,2-3-4,然后第二遍循环,newhead指向2-1,head指向剩余的链表,3-4。。。以此类推,直到循环结束。

 

// iterative solutionpublic ListNode reverseList(ListNode head) {    ListNode newHead = null;    while(head != null){        ListNode next = head.next;        head.next = newHead;        newHead = head;        head = next;    }    return newHead;}

 

还有递归的算法:

 

// recursive solutionpublic ListNode reverseList(ListNode head) {    return reverseListInt(head, null);}public ListNode reverseListInt(ListNode head, ListNode newHead) {    if(head == null)        return newHead;    ListNode next = head.next;    head.next = newHead;    return reverseListInt(next, head);}

 

转载于:https://www.cnblogs.com/lucky-star-star/p/5003636.html

你可能感兴趣的文章
数据库事务管理:掺杂使用entityDao和jdbcTemplate时的问题
查看>>
第一篇 群雄并起——文本编辑器的武林大会
查看>>
部署 Office Communications Server 2007 R2 Enterprise Edition-Part01
查看>>
C# 中的INotifyPropertyChanged和ObservableCollection<T>
查看>>
查看文件信息的命令
查看>>
error CS0583: 内部编译器错误(0xc0000005 位于地址 5A18D31D 处): 可能的原因是“BIND”。...
查看>>
疯狂ios讲义之疯狂连连看游戏简介
查看>>
总结bash编程基础,引入函数结构化编程。
查看>>
redhat linux忘记登陆密码之解决办法
查看>>
RHEL 6 LAMP(一)
查看>>
Nginx负载均衡
查看>>
理解 virbr0 - 每天5分钟玩转 OpenStack(11)
查看>>
屡败屡战,攻克中项(系统集成项目管理师考试经历分享)
查看>>
SQL 2008 群集配置详尽攻略[2]--设置故障转移集群
查看>>
OSPF中使用完全次末节区域--total nssa
查看>>
unity3D与网页的交互---做项目的一点总结
查看>>
Nginx—核心配置location匹配规则说明
查看>>
分布式监控之Zabbix-Server
查看>>
Zone-based User Based Firewall
查看>>
AWS CLI使用s3
查看>>