首页 > 代码库 > 单链表翻转
单链表翻转
方法一:通过三个指针来分别指向链表的当前节点、上一节点、下一节点
分别为P1,P2,P3。
上代码:
static class Node{ int val; Node next; } public static Node reverse(Node node){ if (node==null||node.next==null){ return null; } Node current,pnext,prev; current=node.next; pnext=current.next; current.next=null; while (pnext!=null){ prev=pnext.next; pnext.next=current; current=pnext; pnext=prev; } node.next=current; return node; }
方法二:
static Node reverse2(Node node){ if (node==null||node.next==null){ return null; } Node current,pnext; current=node.next; while (current.next!=null){ pnext=current.next; current.next=pnext.next; pnext.next=node.next; node.next=pnext; } return node; }
单链表翻转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。