Loading...
核心技能null/nil 异常处理dummy node 哑巴节点快慢指针插入一个节点到排序链表从一个链表中移除一个节点翻转链表合并两个链表找到链表的中间节点哑巴节点适用于头节点可能被删除的场景。下面示例代码是哑巴节点用于删除头节点。 ListNode dummy_node = new ListNode(-1); // head节点为头节点。 dummy_node.next = head; ...
二叉树遍历1.以根访问顺序决定是什么“序”遍历(仅适用于前序,中序,后序)2.左子树优先于右子树(一般遍历均满足此条件)DFS深度优先搜索Depth-First-Search。一种用于遍历或搜索树或图的算法。这个算法会尽可能深的搜索树的分支。一般步骤(非递归方法会用到栈)为首先将根节点放入stack中。从stack中取出第一个节点,并检验它是否为目标。如果找到目标,则结束搜寻并回传结果。否则...
概览图graph LR A(数据结构) --> B(线性表) B --> C(顺序表) C -->c(向量) B --> D(链表) D(链表)-->D2(列表) A --> E(栈) E --> w(顺序栈) E --> W2(链式栈) A --> F(队列) F --> P(链式队列) F --&...
递归分支转向是算法的灵魂,而递归则是允许函数和过程进行自我调用,这是实现分支转向的一种机制。递归的价值在于,许多应用问题都可简洁而准确的描述为递归形式。递归也是一种基本而典型的算法设计模式。这一模式可以对实际问题中反复出现的结构和形式做高度概括,并从本质层面加以描述和刻画,从而导出高效的算法。递归思想可以使我们从宏观理解和把握应用问题的实质深入挖掘和洞悉算法过程的主要矛盾和一般性模式,并最终...