zoukankan      html  css  js  c++  java
  • LeetCode

    Merge Two Sorted List

    Des: merge two sorted list into one sorted list (splicing the node of the first two lists)

    我的思路:
    每一个循环都复制一个新的new list node, 不破坏原List 的结构,效率较低 且不符合题目要求
    current1
    current2
    dummy

    分析:这道题目的本质是指针的使用,如何哨兵节点能够改变指针的指向,保留原指针的next元素指向,
    在合并两个链表时,只需要使用额外的一个节点来保存原节点的指向即可。

    小技巧:判断特殊情况时 由特殊 -> 一般, L1和L2都存在 -> 只有L1存在 -> ELSE(L2存在 和都不存在)

    Question: 哨兵节点的作用?A: save the head node of the new list.
    有效的变量名? A: lastnode
    C语言中的 -> 和 . 符号使用差别: -> 针对的是struct pointer 结构体指针 代替 (student).name 中的 ().

    Reverse Linked List

    两个变量
    三个变量之间的关系,prev 节点,curr 节点,curr.next节点
    curr.next 指向 prev, 所以需要先保留一下 curr.next

    head的作用没有想明白,

    Intersection of two linked list

    思路: 先check最后一个元素是否相同,判断其是否存在intersection,如果存在交叉,从后向前遍历,找到节点
    Question: 从后往前遍历无法实现,从前往后遍历 如何确定intersection
    每次+1 -> 不可以:可能不同步
    固定一个,遍历另一个 -> 超时

  • 相关阅读:
    PHP中pack、unpack的详细用法
    Rbac
    composer
    tp5+workman
    apache
    Vs2005安装后没有模板的解决方法
    java中使用mysqldump 备份数据库
    java中文件上传下载将file转为MultipartFile
    hibernate中的schema
    Java之 1.8新特性
  • 原文地址:https://www.cnblogs.com/kong-xy/p/7802166.html
Copyright © 2011-2022 走看看