![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 54
眼眸印着温柔
天道酬勤
展开
-
环型链表
1. 给定一个链表,判断链表中是否有环。 判断一个链表是否有环本质就是一个追一个跑,看是否能追上的问 解题思路: 借助快慢指针来完成追赶问题 定义两个指针(快指针和慢指针),两个指针均从表头的位置开始向后走, 一个走一步, 一个走两步, 如果带环那么一定会相遇。否则快指针就会遍历完二者还没有相遇, 快指针走到空的位置。 class Solution { public: bool hasCycle(ListNode *head) { if(head == NULL)原创 2021-05-10 20:44:35 · 155 阅读 · 0 评论 -
二叉树的四种常考遍历方式以及习题整理
二叉树基础常考习题: 1. 单值二叉树。Oj链接 用根的值与左右字树的值进行判断; 看是否都相等 class Solution { public: bool isU(struct TreeNode* root, int key){ if (root == NULL) return true; return root->val == key && isU(root->left, key) && isU(root->right, k原创 2021-05-02 21:15:58 · 809 阅读 · 0 评论 -
二叉搜索树基本实现
二叉搜索树----一般情况等于跟节点就不存放 二叉搜索树又称为二叉排序树具有以下性质: 1.若它的左子树不为空,则左子树上的所有节点的值都小于根节点的值 2.若它的右子树不为空,则右字树上的所有节点的值都大于根节点的值 3.它的左右子树也分别为二叉搜索树 实现的操作: 1.搜索查找------接近二分的查找(与树的特点相关)------平均查找次数(logn) 2.插入:如果树中已经存在需要插入的数据,则不重复插入 插入的位置:叶子,子树不完全的非叶子节点(度为0和度为1的节点) 3.删除操作 左子树:左子原创 2020-12-13 17:31:44 · 174 阅读 · 1 评论