算法学习之二叉树天然的递归结构

Jackey C/C++ 1,460 次浏览 0 评论 , ,
题目要求: 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3...

算法学习之优先队列相关的算法问题

Jackey C/C++ 1,669 次浏览 0 评论 ,
题目要求 给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。   示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输...

C++ 之优先队列

Jackey C/C++ 1,600 次浏览 0 评论 ,
bool myCmp(int a, int b) { // 比较a和b的个位数 return a % 10 < b % 10; } int main() { srand(time(NULL)); // 默认情况下,最大堆 priority_queue<int> pq; f...

算法学习之图的最短路径

Jackey C/C++ 1,488 次浏览 0 评论 ,
题目要求: 给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 给你一个整数 n ,返回和为 n 的完全平方数的 最少数量 。 完全平...

算法学习之队列的典型应用

Jackey C/C++ 1,528 次浏览 0 评论 , ,
题目要求: 给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。   示例: 二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回其层序遍...

算法学习之栈的基础使用

Jackey C/C++ 1,551 次浏览 0 评论 ,
题目要求: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入...

算法学习之链表与双指针

Jackey C/C++ 1,456 次浏览 0 评论 , ,
题目要求: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗?   示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2:...

算法学习之删除链表指定节点

Jackey C/C++ 1,518 次浏览 0 评论 ,
题目要求: 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。   现有一个链表 -- head = [4,5,1,9],它可以表示为:     示...

算法学习之链表穿针引线

Jackey C/C++ 1,456 次浏览 0 评论 ,
题目要求: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。   示例 1: 输入:head = [1,2,3,4] 输出:[2,1,...

算法学习之设立链表的虚拟头节点

Jackey C/C++ 1,562 次浏览 0 评论 ,
题目要求: 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。 示例 1: 输入:head = [1,2,6,3,4,5,6], val = 6 输出:[1,2,3,4,5] 示...

C++链表操作示例

Jackey C/C++ 1,323 次浏览 0 评论
#include <iostream> #include <set> using namespace std; //Definition for singly-linked list. struct ListNode { int val; ListNode *next; ListNode() : val(0), nex...
Go