码迷,mamicode.com
首页 >  
搜索关键字:某个结点    ( 136个结果
如何在O(1)的时间里删除单链表的结点
题目是这样的:给你一个单链表的表头,再给你其中某个结点的指针,要你删除这个结点,条件是你的程序必须在O(1)的时间内完成删除。由于有的同学对链表还不是很熟悉,本文尽量描述的通俗易懂,老鸟请直接跳过前面一大段。链表结构如下:[cpp] view plaincopyprint?structnode{in...
分类:其他好文   时间:2014-08-02 07:29:44    阅读次数:161
[算法浅析] 如何在O(1)的时间里删除单链表的结点
题目是这样的:给你一个单链表的表头,再给你其中某个结点的指针,要你删除这个结点,条件是你的程序必须在O(1)的时间内完成删除。 由于有的同学对链表还不是很熟悉,本文尽量描述的通俗易懂,老鸟请直接跳过前面一大段。 链表结构如下: struct node { int val; node* next; }; 题目不是很难,很快就能想到好办法:) 首先回顾一下普通的删除方法,...
分类:其他好文   时间:2014-08-02 05:14:14    阅读次数:231
Path Sum
问:二叉树是否存在路径和等于sum的路径,若存在输出true,否则输出false分析:递归调用二叉树,每次将上一层的val值传递给子结点并加上子节点的val,当传递到某个结点为叶子结点时,判断其val值是否等于sum错点:二叉树为空,则无论sum为多少都为false,这个容易造成RE 二叉树只...
分类:其他好文   时间:2014-08-01 09:08:31    阅读次数:214
双向链表
引言:         单链表存在一个问题,当我们想要访问某个结点的前一个结点时,要从头结点开始访问。显然这样的操作是令人烦躁的。为此,双向链表出现,它比单链表多出了一个指针域,指向前一个结点。这样,对于双向链表,就可以方便的从后向前遍历链表了。但多出的问题是对于插入和删除结点的开销要增加一倍。 分析描述:         双向链表存储结构图为:,用结构体表示如下: ...
分类:其他好文   时间:2014-07-09 11:44:17    阅读次数:189
[剑指offer]Q13:O(1)时间删除链表的结点
通常我们所说的删除链表的某个结点,是彻底删除该结点的空间,而要这么做就必须知道其前驱结点。这里的想法是,链表中存储的val是同类型的,只要将该结点的val内容删除就可以了。那么就可以用该结点的后继结点的值覆盖当前结点,然后删除其后继结点,而对于其后继结点而言,该结点就是前驱。 这里只需要考虑当前删除的结点是否为last node 就可以了,至于是否是头结点,这种情况是可以归为同一种情况的,只是参...
分类:其他好文   时间:2014-07-08 13:58:04    阅读次数:197
poj1655 Balancing Act 【树形DP(很弱)】
都不知道怎么分类了。 大概要求一个树中以某个结点为根的子树结点个数,还有儿子结点中以儿子结点为根的子树结点个数的最大值,用递归得到n[i],以i为根节点的子树结点个数 #include #include #include #include #include #include #include using namespace std; #define scan(a) scanf("...
分类:其他好文   时间:2014-05-18 07:26:01    阅读次数:225
136条   上一页 1 ... 12 13 14
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!