摘要: 对于广度优先遍历而言,我们可以用迭代的方法轻松求解,但是对于递归,就很难了,也很难记忆 ,因此这里给出BFS的迭代解法,这个function会根据BFS的顺序依次打印出我们访问的节点,有点小trick,代码如下: def bfs_level_order_traversal(node): if nod 阅读全文
posted @ 2021-04-08 13:28 Geeksongs 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 这题目一看就会有两种思路,一种是简单的DFS深度优先遍历,时间复杂度为O(n),每遍历到一个节点就增加sum incremented by 1,另一种方法就是从the last node开始算起,从下往上进行递归(这样才能够运用到完全二叉树的性质),但是我这里为了速度做出题目就直接使用DFS就可以求 阅读全文
posted @ 2021-04-08 13:21 Geeksongs 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 这题一看实在是太简单了,只要判断我们当前指针所在的元素是否已经被访问过就好。因此有第一种方法: 方法一: 使用数组储存我们访问过的所有元素,然后遍历我们访问过的所有元素和当前指针所在的元素进行比较,如果有地址一样的,就返回True说明是环形链表,不然就返回False,说明不是环形链表。时间复杂度为O 阅读全文
posted @ 2021-04-08 13:07 Geeksongs 阅读(31) 评论(0) 推荐(0) 编辑

Coded by Geeksongs on Linux

All rights reserved, no one is allowed to pirate or use the document for other purposes.