链表基础
来源:互联网 发布:手机恶作剧软件大全 编辑:程序博客网 时间:2024/04/30 13:41
一、新建链表
class Link{ private Node root; class Node{ private String name; private Node Next; public Node(String name){ this.name = name; } public String getName(){ return this.name; } public void addNode(Node newNode){ if(this.Next==null){ this.Next = newNode; }else{ this.Next.addNode(newNode); } } public void printNode(){ System.out.print(this.name + "-->"); if(this.Next!=null){ this.Next.printNode(); } } }; public void add(String name){ Node newNode = new Node(name); if(this.root==null){ this.root = newNode; }else{ this.root.addNode(newNode); } } public void print(){ if(this.root!=null){ this.root.printNode(); } } }; public class LinkDemo { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Link link = new Link(); link.add("根节点"); link.add("第一节点"); link.add("第二节点"); link.add("第三节点"); link.add("第四节点"); link.print(); System.out.println("null"); } }
链接:http://blog.csdn.net/chichoxian/article/details/8549744二、输入一个链表,从尾到头打印链表每个节点的值。
import java.util.Stack;import java.util.ArrayList;public class Solution { public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { Stack<Integer> stack = new Stack<>(); while (listNode != null) { stack.push(listNode.val); listNode = listNode.next; } ArrayList<Integer> list = new ArrayList<>(); while (!stack.isEmpty()) { list.add(stack.pop()); } return list; }}
阅读全文
0 0
- 链表的基础
- 内核链表基础
- 链表基础
- 链表基础学习
- 链表基础应用
- 链表基础程序
- 基础链表实现
- 单向链表基础
- 基础链表练习
- 链表基础
- 数据结构: 链表基础
- 链表基础
- 基础链表
- 链表基础1
- C链表基础
- 链表基础操作
- 链表基础
- 链表基础 回顾
- 爬虫工程师和网络安全工程师的爱恨情仇
- 检查系统信息的简单脚本
- java处理json中的日期
- Unreal Engine 4添加自定义Settings到项目设置
- sublime插件
- 链表基础
- python常用函数
- Spring添加了注解@Transactional事务不回滚总结
- 51 NOD 1007 正整数分组(0-1背包)
- 获取浏览器指纹指引
- led分析(app->framework->jni->hal)
- 基于python3.5的scrapy框架搭建(一)
- 构建高可用、可扩展的redis集群
- Android OTA升级原理和流程分析(三)---Android系统的三种启动模式