文档章节

单链表反序

l
 lzg14
发布于 2014/05/29 16:04
字数 265
阅读 302
收藏 7

面试题: 将a-z的26个字母加入一个单链表,输出,然后反序后再输出

/**
 * 
 * @author Jason Li 2014-5
 * 
 *  面试题: 要求将a-z的26个字母加入一个单链表,输出,然后反序后再输出
 * 
 */

public class SingleLinkedListTest {

	public static void main(String[] args) {
		SingleLinkedList sll = new SingleLinkedList();
		
		for (int i = 0; i < 26; i++) {
			sll.add((char)('a' + i));
		}		
		sll.show();		
		sll.reverse();	
		sll.show();
	}

}

//简单的单链表
class SingleLinkedList {

	private Node head;// 头指针
	private Node tail;// 尾指针

	public SingleLinkedList() {
		Node tem = new Node();
		tem.content = 0;
		tem.next = null;
		this.head = this.tail = tem;
	}

	//在链表尾部添加
	public void add(Object o) {
		Node tem = new Node();
		tem.content = o;
		tem.next = null;
		tail.next = tem;
		tail = tem;
	}

	// 反序
	public void reverse() {
		Node insert_point = head.next; //插入位置
		Node cur = insert_point.next; //待插入的节点
		Node tmp;
		
		while (cur != null) {
			tmp = cur.next; //下一个待插入节点
			cur.next = insert_point;//把cur节点插入到插入点之前,
			insert_point = cur; //然后当前节点下变为插入点
			cur = tmp; 
		}
		tail = head.next;
		tail.next = null;
		head.next = insert_point;

	}

	// 显示
	public void show() {
		Node cur = head.next;
		while (cur != null) {
			System.out.print(cur.content);
			cur = cur.next;
			if (cur != null)
				System.out.print("->");
		}
		System.out.println();
	}

	// 节点类
	private class Node {
		public Object content;
		public Node next;
	}

}

 

© 著作权归作者所有

共有 人打赏支持
下一篇: 快速排序
l
粉丝 8
博文 29
码字总数 11715
作品 0
朝阳
私信 提问
链表各类操作详解

仅供学习使用,附转载连接:http://blog.csdn.net/hackbuteer1/article/details/6591486 链表概述    链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要...

陈国成
2017/06/17
0
0
第十章 Scala 容器(二):如何选择一个合适的容器类

解决方案 实际上Scala的容器分为三大类:Seq,Map,Set。Seq容器线性地存储了元素,这些元素或者被以数组加索引的形式存储,或者使用链表的方式存储。Map存储的是键值对,当你想用(key-val...

阿拉德大陆的魔法师
2016/04/01
242
0
leetcode 2 Add Two Numbers 方法2

You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers ......

刘小米
2015/01/30
0
2
反序存储链表

不接触算法相关的东西快两年多了,真的是生疏了。初步计划是每周抽出些时间在LeetCode上作两道算法题。 明有科举八股,今有LeetCode。 八股定格式而取文采心意,LeetCode定题目且重答案背诵。...

吴七禁
2017/11/11
0
0
2015年1月9日XX大学XX学院考试题

复习 一、选择题 1.计算机算法指的是 。 A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 2. 下面关于算法说法正确的是( ) A.算法最终必须由计算机程序实现 B. 为解决某问题的...

请叫我赵小宝
2015/01/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
27分钟前
0
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
2
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0
Java并发编程:深入剖析ThreadLocal

ThreadLocal 的理解 ThreadLocal,很多地方叫线程本地变量,或线程本地存储。ThreadLocal为变量在每个线程中都创建了一个副本,每个线程可以访问自己内部的副本变量。===》解决的问题是线程间...

细节探索者
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部