ICode9

精准搜索请尝试: 精确搜索
  • 剑指 Offer 26. 树的子结构2022-01-20 22:02:50

    剑指 Offer 26. 树的子结构 - 力扣(LeetCode) (leetcode-cn.com) B是A的子树的情况: B先遍历空A=BB是A的左子树,或右子树。 如果B先为空,则B是A的子树;如果A先空,则B不是A的子树。 需要一个函数比较A的子树和B相同,则B是A的子树:A子树根节点和B根节点相同,左右相等。 /** * Definition fo

  • 虚拟头节点指针法实现链表删除指定值的节点2022-01-20 22:02:36

    Given the head of a linked list and an integer val, remove all the nodes of the linked list that has Node.val == val, and return the new head. /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * L

  • 入门级题解143. 重排链表2022-01-20 19:35:00

    写在前面: 链表的题 1.取独立节点,保存接口,接口即->next 2.会用哑节点,return dummy->next 3.最重要的是->next,理解,理解再理解,并随时能够掌握它的最新变化。 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln →

  • 备战复试,每日三题Day092022-01-16 13:01:30

    备战复试,每日三题 题目一: 比特位计数 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ,返回一个长度为 n + 1 的数组 ans 作为答案。 示例 1: 输入:n = 2 输出:[0,1,1] 解释: 0 --> 0 1 --> 1 2 --> 10 示例 2: 输入:n = 5 输出:[0,1,1,2,1,2] 解释: 0 -->

  • 剑指 Offer 34. 二叉树中和为某一值的路径2022-01-16 10:59:09

    剑指 Offer 34. 二叉树中和为某一值的路径 原题链接:https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof/ 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点

  • 备战复试,每日三题Day052022-01-12 12:59:54

    备战复试,每日三题 题目一:递增的三元子序列(leetcode1.12每日一题) 给你一个整数数组 nums ,判断这个数组中是否存在长度为 3 的递增子序列。 如果存在这样的三元组下标 (i, j, k) 且满足 i < j < k ,使得 nums[i] < nums[j] < nums[k] ,返回 true ;否则,返回 false 。 示例 1: 输入:nu

  • 【leetcode】1022. Sum of Root To Leaf Binary Numbers2022-01-11 23:32:12

    ou are given the root of a binary tree where each node has a value 0 or 1. Each root-to-leaf path represents a binary number starting with the most significant bit. For example, if the path is 0 -> 1 -> 1 -> 0 -> 1, then this could represent 

  • C++设计模式之单例模式2022-01-09 22:01:21

    C++设计模式之单例模式(Singleton) 1、序论 ​ 在软件系统中,经常有这样一些特殊的类,必须保证它在系统中只存在一个实例,才能保证它们的逻辑正确、以及良好的效率 如何绕过常规的构造器,提供一种机制来保证一个类只有一个单例对象? ​ 有人说可以提醒用户只构建一个这个对象,但是从

  • 数据结构—树2022-01-06 10:35:51

    树 基本概念 根结点:没有父结点的结点 叶子结点:没有子结点的结点 非叶结点 祖先结点 子孙结点 结点的度:该结点子结点的个数 树的度:树中结点度最大值即为整棵树的度 路径 路径长度 有向树 无向树 结点的层数:从根结点开始, 根结点为0层, 以此类推 结点的

  • 【Leetcode】NO.226 翻转二叉树(C++&Python)[二叉树]2022-01-05 23:34:25

    题目 226. 翻转二叉树 思路 递归方法; 对于每一次使用交换左右节点之后进行递归遍历; 代码 递归方法: /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(nullptr)

  • 数据结构与算法学习(4)2022-01-05 15:04:46

    数据结构与算法学习(4) 一.排序算法总结 1.选择排序:时间O(n^2) 空间O(1) 不稳定 2.冒泡排序:时间O(n^2) 空间O(1) 稳定 3.插入排序:时间O(n^2) 空间O(1) 稳定 4.快速排序:时间O(nlogn) 空间O(logn) 不稳定 5.归并排序:时间O(nlogn) 空间O(N) 稳定 6.堆排序:时间O(n*logn) 空间O(1)

  • 哈夫曼树(Huffman树)原理分析及实现2022-01-05 08:31:41

    哈夫曼树(Huffman树)原理分析及实现 1 构造原理 假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:   (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);   (2) 在森林中选出两个根结点的权值最小的树合并,作

  • 【音视频】windows视音频设备热插拔集成(5-2)2022-01-03 22:30:40

    上一篇实现了windows的音视频设备热插拔功能,这一篇集成到SDK中。我的对外接口类是HCMDesktopRecorder,该篇主要讲如何集成热插拔功能,其他代码忽略。 1、开启并注册热插拔 int HCMDesktopRecorder::init(/* 忽略 */) { /* 忽略 */ // Create thread for detect device call

  • 王纲网络流转发2021-12-30 12:03:34

    #ifndef PCH_H #define PCH_H extern "C" { #include "libavutil/opt.h" #include "libavutil/channel_layout.h" #include "libavutil/common.h" #include "libavutil/imgutils.h" #include "li

  • C++反转链表2021-12-29 22:05:52

    #include <iostream> using namespace std; struct my_list{ int val; my_list* next; my_list(int _val):val(_val),next(nullptr){} }; my_list* reverse_list(my_list* head) { if(head==nullptr) return head;//为空的情况 my_list* pre=

  • 翻转二叉树(c++&&golang)2021-12-28 14:58:58

    #include <bits/stdc++.h> using namespace std; struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeN

  • 单链表直接插入排序2021-12-20 13:05:38

    将单链表按照递增排序 点击查看代码 void inorder(linklist &l) { lnode *p = l->next, *r, *q; // 摘下头结点作为有序表 l->next = nullptr; while (p) { // r和p遍历无序表 r = p; p = p->next; // q遍历有序表,找出无

  • 建立顺序或逆序单链表2021-12-20 01:31:15

    顺序输入n个元素建立单链表 点击查看代码 #include <bits/stdc++.h> using namespace std; //采用尾插法 void rearinsert(linklist &l,int n) { l = new lnode; l->next = nullptr; //设置尾指针 lnode *r = l; for (int i = 0; i < n; i++) { l

  • 力扣257. 二叉树的所有路径 关于代码的优化2021-12-19 17:04:04

    背景介绍: 题目虽然做出来了,但是总是跟标准答案差一点优化,所以写下此博客来做笔记。 首先看看标准答案代码: class Solution { public: void dfs(TreeNode* root,string path,vector<string> &paths){ path+=to_string(root->val); if(root->left==null

  • C++语言导学 第一章 基础知识 - 1.7 指针、数组和引用2021-12-19 09:02:13

    第一章 基础知识 1.7 指针、数组和引用空指针 1.7 指针、数组和引用 最基本的数据集合类型就是数组——一种空间连续分配的相同类型的元素序列。这基本上就是硬件所提供的机制。元素类型为char的数组可像下面这样声明: char v[6]; //含有6个字符的数组 类似地,指针可这样

  • 513. 找树左下角的值2021-12-13 11:32:04

    要求:首先最底层,其次最左边 思路:层序,可以记录每层个数找到最后一层第一个,也可以把层序改成从右到左,这样最后一个就是答案 /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(

  • leetcode: 203. Remove Linked List Elements2021-12-11 15:02:24

    leetcode: 203. Remove Linked List Elements 原题链接 方法一:直接使用原来的链表来进行移除节点操作: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListN

  • 102. 二叉树的层序遍历2021-12-09 22:00:42

    这是第一次自己写层次遍历,花了半个小时吧,有很多不足 例如我对于队列每一层的循环,就显得一点智慧没有 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<int>temp_val; vector<vector<int>>result; queue<TreeNode

  • 404. 左叶子之和2021-12-09 09:01:03

    404. 左叶子之和 题目链接:404. 左叶子之和(简单) 计算给定二叉树的所有左叶子之和。 示例:   3   / \ 9 20   / \   15   7​在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24 题解 思路 这道题的关键是如何找到左叶子节点。通过观察,我们可以发现,判断节点是否是左

  • UE4类型数据自动注册2021-12-06 21:01:07

    Version:4.26.2 UE4 C++工程名:MyProject 在《宏GENERATED_BODY做了什么?》中,简单分析了GENERATED_BODY宏给一个简单的、继承自UObject的自定义类添加了什么。 当中涉及到的源码文件有:ObjectMacros.h、MyObject.h、MyObject.generated.h, UObjectGlobals.h; 现在来分析一下UHT生成

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有