单链表翻转(递归与非递归)
来源:互联网 发布:软件服务器加防御 编辑:程序博客网 时间:2024/06/04 19:41
递归写法:
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution{public ListNode reverseList(ListNode head){if(head==null || head.next==null){return head;}ListNode nextNode = head.next; //记录head的next节点ListNode newHead = reverseList(nextNode); //递归翻转nextNode.next = head;head.next = null;return newHead;}}
非递归写法:
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution{ public ListNode ReverseList(ListNode head) { ListNode pre = null; ListNode next = null; while(head!=null) { next = head.next; //记录head的next节点 head.next = pre; //翻转 pre = head; head = next; //pre、head依次向后移动一个节点,继续翻转 } return pre; }}
0 0
- 单链表翻转(递归与非递归)
- 算法<递归与非递归方式翻转单链表>
- 单链表递归反转和非递归翻转
- 翻转二叉树(递归与非递归)
- 【数据结构】二叉树的翻转递归与非递归实现
- 递归与非递归
- 递归与非递归
- 递归与非递归
- 递归与非递归
- 递归与非递归
- 递归与非递归
- 翻转二叉树(递归非递归)
- 反转单链表 递归与非递归
- 单链表反转:递归与非递归实现
- 递归翻转单链表
- 递归与非递归转换
- 汉诺塔递归与非递归
- leetcode系列(14)链表翻转(递归与非递归)
- POJ - 1258 Agri-Net解题报告
- 抽取的html文件有些空格字符无法去除
- JSP自定义EL函数
- 对程序设计初学者谈程序的效率
- Linux Signal 信号量的使用
- 单链表翻转(递归与非递归)
- 【b703】矩阵取数游戏
- Android UI 显示工具——HierarchyViewer工具
- 微信开发者工具的快捷键
- Spring Bean生命周期
- httpclient详解
- RCC_Configuration()有什么用?
- java基础七预定义类
- Linux(CentOS)环境下安装MySQL