File tree Expand file tree Collapse file tree 3 files changed +32
-2
lines changed Expand file tree Collapse file tree 3 files changed +32
-2
lines changed Original file line number Diff line number Diff line change @@ -79,7 +79,7 @@ map目的用来存放我们访问过的元素,因为遍历数组的时候,
7979
8080所以 map中的存储结构为 {key:数据元素,value:数组元素对应的下标}。
8181
82- 在遍历数组的时候,只需要向map去查询是否有和目前遍历元素比配的数值 ,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素。
82+ 在遍历数组的时候,只需要向map去查询是否有和目前遍历元素匹配的数值 ,如果有,就找到的匹配对,如果没有,就把目前遍历的元素放进map中,因为map存放的就是我们访问过的元素。
8383
8484过程如下:
8585
Original file line number Diff line number Diff line change @@ -682,7 +682,33 @@ public class LinkNumbers
682682
683683
684684
685+ ## 使用虚拟头结点解决链表翻转
686+
687+ > 使用虚拟头结点,通过头插法实现链表的翻转(不需要栈)
688+
689+ ``` java
690+ // 迭代方法:增加虚头结点,使用头插法实现链表翻转
691+ public static ListNode reverseList1(ListNode head) {
692+ // 创建虚头结点
693+ ListNode dumpyHead = new ListNode (- 1 );
694+ dumpyHead. next = null ;
695+ // 遍历所有节点
696+ ListNode cur = head;
697+ while (cur != null ){
698+ ListNode temp = cur. next;
699+ // 头插法
700+ cur. next = dumpyHead. next;
701+ dumpyHead. next = cur;
702+ cur = temp;
703+ }
704+ return dumpyHead. next;
705+ }
706+ ```
707+
708+
709+
685710## 使用栈解决反转链表的问题
711+
686712* 首先将所有的结点入栈
687713* 然后创建一个虚拟虚拟头结点,让cur指向虚拟头结点。然后开始循环出栈,每出来一个元素,就把它加入到以虚拟头结点为头结点的链表当中,最后返回即可。
688714
@@ -720,3 +746,4 @@ public ListNode reverseList(ListNode head) {
720746<a href =" https://programmercarl.com/other/kstar.html " target =" _blank " >
721747 <img src =" ../pics/网站星球宣传海报.jpg " width =" 1000 " />
722748</a >
749+
Original file line number Diff line number Diff line change @@ -476,6 +476,7 @@ class Solution {
476476## Python
477477
478478> 递归法
479+ > 常量空间,递归产生的栈不算
479480
480481``` python
481482# Definition for a binary tree node.
@@ -521,7 +522,9 @@ class Solution:
521522```
522523
523524
524- > 迭代法-中序遍历-不使用额外空间,利用二叉搜索树特性
525+ > 迭代法-中序遍历
526+ > 利用二叉搜索树特性,在历遍过程中更新结果,一次历遍
527+ > 但需要使用额外空间存储历遍的节点
525528``` python
526529class Solution :
527530 def findMode (self , root : TreeNode) -> List[int ]:
You can’t perform that action at this time.
0 commit comments