简单题,剑指offer上的第37题,九度OJ上AC。
题目描述:
输入两个链表,找出它们的第一个公共结点。
输入:
输入可能包含多个测试样例。
对于每个测试案例,输入的第一行为两个整数m和n(1<=m,n<=1000):代表将要输入的两个链表的元素的个数。
接下来的两行,第一行为第一个链表的所有元素,中间用空格隔开。第二行为第二个链表的所有元素,中间用空格隔开。
输出:
对应每个测试案例,
输出两个链表的第一个公共结点的值。
如果两个链表没有公共结点,则输出“My God”。
样例输入:
5 4
1 2 3...
分类:
其他好文 时间:
2014-05-23 07:56:08
阅读次数:
280
1、
??
Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
分析:将一个升序排列的链表转换为平衡二叉搜索树,采用递归的方式,先找到链表...
分类:
其他好文 时间:
2014-05-22 12:33:30
阅读次数:
270
摘要:为了探索JAVA1.7源码中HashMap类数据的组织方法与目录扩展方法,通过对JAVA1.7源码中HashMap类源码的阅读与分析,得出结论:hashmap中存储数据的数据结构采用的是链表数组,目录是个数组,数组的成员是链表。冲突解决方法:典型的链地址法,冲突后,在链表头部插入数据。目录扩展方法:已二倍的方式扩展,一直到目录的最大上限。目录扩展的触发条件:装载因子的方式触发。从java中hashmap的实现可以看出,桶数据的组织方式并不是一种非常高效的方式。对检索效率不利。同时,数据扩展简单的采用二...
分类:
编程语言 时间:
2014-05-22 11:19:47
阅读次数:
301
完全按照海涛哥剑指offer里边的递归思路来写的,基本一样,仅作学习验证,努力锻炼,努力学习!code如下:
//Change a BSTree to a sorted double linklist
struct BSTreeNode
{
int value;
BSTreeNode *left;
BSTreeNode *right;
}head;
//Create a node of...
分类:
其他好文 时间:
2014-05-22 10:23:27
阅读次数:
237
【题目】
原文:
2.2 Implement an algorithm to find the nth to last element of a singly linked list.
译文:
实现一个算法从一个单链表中返回倒数第n个元素。
【分析】
【思路一】
(1)创建两个指针p1和p2,指向单链表的开始节点。
(2)使p2移动n-1个位置,使之指向从头...
分类:
其他好文 时间:
2014-05-22 09:03:53
阅读次数:
315
题目:给出一个连续的链表,要求你将其结构改变反转。
例如:
输入:1 2 3 4 5
输出:5 4 3 2 1
#include
#include
#include
typedef struct ListNode{
int m_pKey;
ListNode * m_pNext;
};
ListNode *ListReverse(ListNode *pHea...
分类:
其他好文 时间:
2014-05-22 08:16:58
阅读次数:
210
用静态链表(数组)去解这道二叉搜索树的题目。无需使用链表、指针,无需自定义结点类型,操作简单。仅仅是将空间上的二叉搜索树映射到一维数组上。...
分类:
其他好文 时间:
2014-05-22 07:20:53
阅读次数:
209
问题
Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…
You must do this in-place without altering the nodes' values.
For example,
Given {1,2,3,4}, reorde...
分类:
其他好文 时间:
2014-05-22 07:04:46
阅读次数:
298
节点形态:
实现:
/******************************************
二叉树的二叉链表存储
by Rowandjj
2014/5/18
******************************************/
#include
using namespace std;
/*二叉树的二叉链表存储表示*/
typedef int T...
分类:
其他好文 时间:
2014-05-22 07:03:21
阅读次数:
229
题目:很简单,就是题目,将链表从尾到头打印出来。
可能我们首先想到的是将链表进行遍历,将之前的访问的数据进行保存,最后进行反向输出,可是保存数据的空间是个问题;或者是我们将整个链表进行反向操作,将整个链表进行逆置,可是我们只是进行打印操作而已,改变链表不合适吧...
其实这时候应该想到了,用栈:既然是逆置,和栈的功能不就不谋而合吗,后进先出,进行反向打印。...
分类:
其他好文 时间:
2014-05-22 06:41:25
阅读次数:
255