牛客每日一题
cbdgz
这个作者很懒,什么都没留下…
展开
-
[数据结构] BFS算法实现层序遍历输出一颗二叉树
题目描述给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)例如:给定的二叉树是{3,9,20,#,#,15,7},该二叉树层序遍历的结果是[[3],[9,20],[15,7]]示例1思路: 在数据结构中BFS遍历序列和层序遍历序列一致故可以用BFS算法实现层序遍历。基本思想是,先让头节点入队,然后再其出队之后将其左右孩子入队,就是在每一个结点出队时随即让其左右孩子入队,这样可以保证队列中的元素个数总与该层的结点数一致。/** * struct TreeNo原创 2020-12-25 00:47:26 · 440 阅读 · 0 评论 -
【数据结构】判断链表是否有环
思路: 想像一下两个人在操场上跑步,起点相同,快的是不是最后一定会追上慢的。所以在有环的链表中fast指针总是比slow指针走快一步,则每一次slow到fast的距离都会+1,而fast到slow的距离会-1,则fast最后一定会和slow相遇。知道上述原理之后代码实现就简单了/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListN原创 2020-12-23 23:54:48 · 141 阅读 · 0 评论