Java实现链表反转
来源:互联网 发布:nginx 子域名映射 编辑:程序博客网 时间:2024/06/04 18:01
用两种方法实现。
public class ReverseLinkTest { public static void main(String[] args) { // TODO Auto-generated method stub Link link = new Link(); Node head = link.createLink(); link.print(head); link.print(link.reverseLink(head)); }}class Node{ private int data; private Node next; public Node(){} public Node(int data, Node next){ this.data = data; this.next = next; } public int getData() { return data; } public void setData(int data) { this.data = data; } public Node getNext() { return next; } public void setNext(Node next) { this.next = next; } }class Link{ private final static int length = 5; Node linkHead = new Node(0 , null); public Node createLink(){ for(int i = length ; i > 0 ; i--){ Node n = new Node(i , null); n.setNext(linkHead.getNext()); linkHead.setNext(n); } return linkHead; } public void print(Node linkHead){ while(linkHead != null){ System.out.print(linkHead.getData() + " "); linkHead = linkHead.getNext(); } System.out.println(); } public Node reverseLink(Node linkHead){ if(linkHead == null || linkHead.getNext() == null){ return linkHead; } Node reverseLink = null, p = null; reverseLink = linkHead; linkHead = linkHead.getNext(); reverseLink.setNext(null); p = linkHead.getNext(); while(linkHead != null){ linkHead.setNext(reverseLink); reverseLink = linkHead; linkHead = p; if(p != null){ p = p.getNext(); } } return reverseLink; } public Node reverseLink2(Node linkHead){ if(linkHead == null || linkHead.getNext() == null){ return linkHead; } Node reverseLink = null, p = null; reverseLink = linkHead.getNext(); while(reverseLink.getNext() != null){ p = reverseLink.getNext(); reverseLink.setNext(p.getNext()); p.setNext(linkHead.getNext()); linkHead.setNext(p); } reverseLink.setNext(linkHead); reverseLink = linkHead.getNext(); linkHead.setNext(null); return reverseLink; }}
阅读全文
0 0
- java反转链表实现
- java实现链表反转
- java 实现反转链表
- java实现链表反转
- java实现链表反转
- Java实现链表反转
- Java实现反转链表
- 反转链表--Java实现
- java实现链表反转
- 反转链表java实现
- Java实现链表反转
- 反转链表的Java实现
- JAVA实现单向链表反转
- java 使用头插法实现反转链表
- 单向链表反转-java实现
- 链表、反转链表操作,Java实现
- java实现链表的反转
- 用java实现反转链表
- 设计模式
- 第35节 HtmlTestRunner测试报告
- hadoop收集
- Spring拦截器进行登录拦截
- EasyNVR RTSP转RTMP-HLS流媒体服务器前端构建之:bootstrap弹窗功能的实现
- Java实现链表反转
- 内存泄漏相关问题
- spring 事务 @Transactional注解参数 tx:annotation-driven
- PHPstorm使用git上传代码
- 写给大数据开发初学者的话
- Windows 10, 1703连接VPN后无法上网
- Qt文件操作
- js之当页面加载$(document).ready(function(){})和window.onload=function(){}的区别
- 谈谈主席树的那些事儿