二叉树结构: struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right…
分类:二叉树
【iOS】二叉树的各种问题(OC代码)
昨天学习了一下算法,找了几个例子,总结到一个demo里面。 什么是二叉树? 二叉树算法主要是递归的思想,维基百科上对递归的定义:在计算机科学中是指一种通过重复将问题分解为同类的子问题而解决问题的方法。我理解的话就是好像一…
LintCode-二叉树的路径和 I、II
I 描述 给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。 一个有效的路径,指的是从根节点到叶节点的路径。 样例 给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / 2 3 返回: [ […
LeetCode 101.对称二叉树 BFS
给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像…
将二叉搜索树转换为双向链表
题目:输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 伪代码: TreeNode convert(TreeNode root){ //指向已经转换好的链…
【算法】二叉树遍历算法的python实现
# Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = N…
查找-二叉搜索树(Java实现)
版权声明:本文源自简书tianma,转载请务必注明出处:http://www.jianshu.com/p/9155e2e9e8c1 前言 如果查找的数据集是有序的线性表,并且是顺序存储的,查找可以用折半查找、插值查找、斐…
二叉搜索树与双向链表
题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 import java.util.LinkedList; import java.util.Q…
OC二叉树相关操作
二叉树-你必须要懂!(二叉树相关算法实现-iOS) http://www.cnblogs.com/manji/p/4903990.html原文链接 (http://blog.devtang.com/blog/2015/0…
剑指offer第二版-8.二叉树的下一个节点
本系列导航:剑指offer(第二版)java实现导航帖 面试题8:二叉树的下一个节点 题目要求: 给定二叉树和其中一个节点,找到中序遍历序列的下一个节点。树中的节点除了有左右孩子指针,还有一个指向父节点的指针。 数据结构…
删除一颗二叉树
To delete a tree we must traverse all the nodes of the tree and delete them one by one. So which traversal we …
二叉树遍历(先序遍历、中序遍历、后序遍历)——递归方法和非递归方法
注:本文来自 左程云的书《程序员代码面试指南》 题目: 分别用递归和非递归方法,实现二叉树的先序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)。 // 二叉树节点 class Node { public int …