未完全懂
文章平均质量分 66
baidu_32936911
这个作者很懒,什么都没留下…
展开
-
数据结构-剑指offer-判断树B是否是树A的子结构
题目:输入两颗二叉树A和B,判断B是不是A的子结构。重点:(1)递归思想的使用!递归思想在做题过程中经常出现。(2)在写遍历树的代码的时候一定要高度警惕,在每一处需要访问地址的时候都要判断这个地址是否为nullptr。思路:判断树A中是否包含树B中的子结构,可以先比较根节点,如果根节点相同,再分别比较左节点和右节点是否相同,如果相同,则返回true,说明树B是树A的子结构。如果根节点不同,则继续遍...原创 2018-03-15 15:35:58 · 910 阅读 · 0 评论 -
数据结构-剑指offer-删除链表中的重复节点
题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5 处理后为 1->2->5思路:首先这是一个已经排序好的链表,所以从头开始遍历碰到重复的不输出。可以采用循环的方法,也可以采取递归的方法。以1->2->2->2->4->4...原创 2018-03-21 13:52:53 · 208 阅读 · 0 评论 -
数据结构-剑指offer-两个链表的第一个公共节点
题目:输入两个链表,找出它们的第一个公共结点。思路1:暴力查找法。将链表1中的节点逐个与链表2中的所有节点比较,返回第一个相同的节点。复杂度O(mn)class Solution {public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { if(pHead1 == nullpt...原创 2018-05-15 16:15:32 · 150 阅读 · 0 评论 -
数据结构-剑指offer-二叉搜索树与双向链表
题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。思路:中序遍历二叉搜索树,得到的序列就是有序的。如果没有后面的要求,就可以先通过前序遍历得到一个方向的链表,再新建节点,实现双向链表。在搜索二叉树中,左子节点的值总是小于父节点的值,右子节点的值总是大于父节点的值剑指offer的思路:在将二叉搜索树转换成排序双向链表时,原先指向左...原创 2018-05-28 22:01:31 · 232 阅读 · 0 评论