11 2014 档案
摘要:问题: 删除链表中的某个给定点。解答: 1)可以借助于节点的前一个节点来删除。 要花费O(n)的时间来查找节点的前继节点。时间复杂度O(n),空间复杂度O(1). 2)将后一个节点的内容复制到本节点,然后删除后一个节点。时间复杂度O(1),空间复杂度O(1) 这样就省略了查找上一个...
阅读全文
摘要:参考: http://blog.163.com/clevertanglei900@126/blog/static/1113522592011828104617420/问题: 判断一个链表中是否有环。分析: 我们都知道,当一个链表中没有环时,我们使用一个指针能从头遍历到尾;当链表中有环时,链表会...
阅读全文
摘要:参考: http://churuimin425.blog.163.com/blog/static/341298772012111955355554/问题: 删除未排序链表中的重复元素。解答: 1)最朴素的方法就是将链表排序,然后遍历并删除其中的重复元素。这种方法的时间复杂度依赖于排序的过程。 ...
阅读全文
摘要:问题: 两个链表模拟大整数加法。 1-》2-》3 + 4-》5 = 1-》6-》8解答: 1)使用递归实现。 比直接使用迭代实现更好。 加法需要从最低位开始,在使用递归实现时,会先递归到最底层(len==1)的情况,然后依次返回到上一层并伴随返回进位数。这样就比直接的迭代实现节省了每...
阅读全文
摘要:本文参考: http://blog.csdn.net/g_brightboy/article/details/6824834 http://blog.csdn.net/huangxy10/article/details/8014233 在此致谢。问题: 给定两个链表,判断它们是否相交。注意:...
阅读全文

浙公网安备 33010602011771号