ICode9

精准搜索请尝试: 精确搜索
  • 链表的增加和删除2019-04-16 20:42:59

    /* 链表节点的插入与删除 编译环境:VC++ 6.0 编译系统:windows XP SP3 */ #include <stdio.h> #include <stdlib.h> #include <malloc.h> // 定义链表中的节点 typedef struct node { int member; // 节点中的成员

  • 剑指offer:二叉树的下一个节点2019-04-16 15:55:49

    题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 class TreeLinkNode: def __init__(self, x): self.val = x self.left = None self.right = None

  • 删除链表中重复的结点(剑指offer)2019-04-15 23:40:13

    题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 方法一:递归 两种情况,如果是重复结点怎么办?遇到了就跳过,返回重复节点的下一个结点。 遇到不重复结点?遇到不重复结点直接连上。

  • 二叉树的下一个结点2019-04-14 11:38:24

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 分析 分析二叉树的下一个节点,一共有以下情况: 1.二叉树为空,则返回空; 2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着

  • #Leetcode# 25. Reverse Nodes in k-Group2019-04-10 17:40:36

    https://leetcode.com/problems/reverse-nodes-in-k-group/   Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. k is a positive integer and is less than or equal to the length of the linked list. If the number o

  • 二叉树的下一个结点2019-04-09 22:56:12

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 分析 如果一个节点有右子树,那么中序遍历的下一个节点就是它的右子树中的最左子节点 如果一个节点没有右子树,且该节点是其父

  • C++学习(三十四)(C语言部分)之 链表2019-04-01 08:54:58

    1、栈和队列 操作 增查改删重点 插入删除先进先出 -->队列先进后出 -->栈2、链表 写之前先画图存储数据的方式 通过指针将所有的数据链在一起数据结构的目的 管理存储数据 方便快速查找使用 链表定义 链式存储的线性表 一对一的关系结构体 指针 函数 循环 结构体复习:struct 点运

  • 剑指Offer(二十五):复杂链表的复制2019-03-27 20:38:12

    一、前言 本系列文章为《剑指Offer》刷题笔记。 刷题平台:牛客网 书籍下载:共享资源 二、题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判

  • 二叉搜索树判定方法(c++实现)2019-03-23 08:49:01

      --- 欢迎指正--- 自己想到的方法是:使用 中序遍历数组或者链表,然后比较数组或者链表中的数据是否有序。 CC150 提供了更棒的解法。 原文大致描述: //<方法1>//首先我们想到的是二叉树中序遍历后的结果是有序的,根据这个结果,我们可以中序遍历二叉树,并把遍历结果存放在一个数组里面,/

  • 二叉树的高度获取方法(递归)2019-03-22 22:43:27

    --- 欢迎 指正--- 思路:采用类似后续遍历的思想。倒着找,从下向上找; c++实现: 结点结构: struct node { int data; int height; node *lc; node *rc; node() : data(0) , height(0) , lc(0) , rc(0) { }};   获取树的高度: // 返

  • 52 两个链表的第一个公共结点(时间空间效率的平衡)2019-03-18 16:52:11

    题目描述: 输入两个链表,找出它们的第一个公共结点。   测试用例: 1)功能测试(输入的链表有公共节点:公共节点在链表的中间、尾部、头部;输入的链表没有公共的节点) 2)特殊输入测试(输入的链表头节点尾nullptr)   解题思路: 1)使用辅助栈 时间复杂度O(m+n),空间复杂度也是O(m+n) 分别把两个链

  • 【剑指offer】二叉树的下一个结点(树)2019-03-16 17:53:22

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 链接 https://www.nowcoder.com/practice/9023a0c988684a53960365b889ceaf5e?tpId=13&tqId=11210&rp=1&ru=/ta/coding-intervi

  • 《剑指offer》第三十五题(复杂链表的复制)2019-03-08 10:39:53

    // 面试题35:复杂链表的复制// 题目:请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复// 制一个复杂链表。在复杂链表中,每个结点除了有一个m_pNext指针指向下一个// 结点外,还有一个m_pSibling 指向链表中的任意结点或者nullptr。#include <iostream>#include "ComplexLi

  • 《剑指offer》第六_二题(重要!查找二叉树的中序遍历的下一个结点)2019-03-03 20:44:06

    文件一:main.cpp // 面试题:二叉树的下一个结点// 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点?// 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。#include <iostream>#include "BinaryTree.h"using namespace std;BinaryTre

  • 《剑指offer》第五题(重要!从尾到头打印链表)2019-03-03 15:50:09

    文件main.cpp // 从尾到头打印链表// 题目:输入一个链表的头结点,从尾到头反过来打印出每个结点的值。#include <iostream>#include <stack>#include "List.h"using namespace std;void PrintListReversingly_Iteratively(ListNode* pHead)//解法一:使用栈{ stack<ListNode*> node

  • 【Leetcode】538. Convert BST to Greater Tree 解题报告2019-03-01 21:53:52

    给定一个BST,更新每个节点的值,更新的方式为当前节点的值+= 比它大的节点值的和 方法1 全局变量+递归 按照右子树-根节点-左节点的访问顺序,这样对于二叉排序树的访问就是按照从大到小来的,记录之前访问过的节点和并加到当前节点上即可 class TreeNode: def __init__(self,

  • 二叉树的下一个结点2019-03-01 13:54:31

    题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 python solution: # -*- coding:utf-8 -*- class TreeLinkNode: def __init__(self, x): self.val = x self.l

  • 剑指offer——面试题32:从上到下打印二叉树2019-02-25 12:41:20

    void BFS(BinaryTreeNode* pRoot){ if(pRoot==nullptr) { cout<<"empty binary tree!"<<endl; return; } queue<BinaryTreeNode*>pNode; pNode.push(pRoot); while(!pNode.empty()) { BinaryTreeNode*

  • 08 二叉树的下一个节点2019-02-19 20:47:53

    题目描述: 给定一个二叉树和其中的一个节点,请找出中序遍历顺序的下一个节点并且返回。注意,树中的节点不仅包含左右子节点(指向左右子节点的指针),同时包含指向父节点的指针。   测试用例:  1)普通二叉树(完全二叉树、不完全二叉树)  2)特殊二叉树(所有节点都没有右/左子节点的二叉树,只有一

  • 剑指offer——面试题8:二叉树的下一个节点2019-02-16 17:37:29

    1 // 面试题8:二叉树的下一个结点 2 // 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? 3 // 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针。 4 5 #include <stdio.h> 6 7 struct BinaryTreeNode 8 { 9

  • 剑指offer-二叉树的下一个节点2019-02-12 20:52:12

    给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。   ①节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点;     ② 否则若节点

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

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

ICode9版权所有