![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
重学c++
weixin_43326110
这个作者很懒,什么都没留下…
展开
-
#牛客网 剑指offer-重建二叉树
一、题目解法一—— 递归class Solution {public: TreeNode* reConstructBinaryTree(vector<int> pre,vector<int> vin) { if(pre.size() == 0) return nullptr; TreeNode* root = new TreeNode(pre[0]); int temp; root-&...原创 2021-11-03 10:34:18 · 59 阅读 · 0 评论 -
#牛客网 剑指offer-二叉搜索树的第k个结点
一、题目解法一——递归中序遍历class Solution {public: TreeNode* res; TreeNode* KthNode(TreeNode* pRoot, int k) { inOrder(pRoot,k); return res; } void inOrder(TreeNode* pRoot,int &k) { if(pRoot==nullptr)...原创 2021-11-01 17:55:42 · 79 阅读 · 0 评论 -
#牛客网 剑指offer-按之字形顺序打印二叉树
一、题目解法一、队列+遍历class Solution {public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int>> ret; if(pRoot == nullptr) return ret; queue<TreeNode*> q; int index = 0; ...原创 2021-10-30 12:22:35 · 76 阅读 · 0 评论 -
#牛客网 剑指offer-二叉树的深度
一、题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。示例输入:{1,2,3,4,5,#,6,#,#,7}返回值:4解法一、递归返回左岔和右岔数量比较大的那个。分叉等于null说明深度为1;否则返回他的深度并+1就是当前树的深度。class Solution {public: int TreeDepth(TreeNode* pRoot) { int ansl...原创 2021-10-26 13:46:04 · 66 阅读 · 0 评论 -
#牛客网 剑指offer-链表中环的入口结点
一、题目解法一、快慢指针法通过两个快慢不同的指针,快的每次前进两格,慢的每次一格。相遇点与环入口的距离与pHead与环入口的距离相等。然后即可找到环入口。class Solution {public: ListNode* EntryNodeOfLoop(ListNode* pHead) { ListNode* l1 = pHead; ListNode* l2 = pHead; while(l1 != nul...原创 2021-10-22 11:32:53 · 79 阅读 · 0 评论 -
#牛客网 剑指offer-两个链表的第一个公共结点
一、题目二、解法-遍历class Solution{public: ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2) { ListNode* p1 = pHead1; ListNode* p2 = pHead2; while(p1!=p2) { p1 = p1->next; ...原创 2021-10-21 12:07:05 · 50 阅读 · 0 评论 -
#牛客网 剑指offer-合并两个排序的链表
一、题目解法一——递归算法class Solution {public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(pHead1==nullptr) { return pHead2; } if(pHead2==nullptr) { return pHead1; ...原创 2021-10-19 21:15:11 · 48 阅读 · 0 评论 -
#牛客网 剑指offer-反转链表
一、题目二、解法一-前插法把上次循环获得的链表放在当前链表的next中,通过temp使得pHead每次循环中后移一位,从而完成前插。注意:再设置指针时,记得为指针赋值nullptr,否则无法放在赋值等号的右边,会报错。class Solution{public: ListNode* ReverseList(ListNode* pHead) { ListNode* ans=nullptr; ListNode* temp=nullptr...原创 2021-10-18 15:51:42 · 57 阅读 · 0 评论 -
#牛客网 剑指offer-链表中倒数最后k个结点
一、题目二、解法一-先计数再递减class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param pHead ListNode类 * @param k int整型 * @return ListNode类 */ ListNode* FindKthToTail(ListNode* pHead, int k)...原创 2021-10-17 19:10:04 · 52 阅读 · 0 评论 -
#牛客网 剑指offer-链表逆序输出
一、链表结构链表结构由节点ListNode结构组成每个节点包含值val和指向下个节点的指针next两个元素。可通过->调用节点的元素,例如ListNode *head;ListNode *temp;int a;temp = head->next;a = head->val;//题目中给出的链表结构代码/*** struct ListNode {* int val;* struct ListNode *next;...原创 2021-10-16 15:25:11 · 78 阅读 · 0 评论