Tree
konsy_dong
Java,C++,Python,linux
展开
-
《剑指Offer》 二叉树的镜像
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10原创 2017-04-07 15:07:08 · 338 阅读 · 0 评论 -
LeetCode 637. Average of Levels in Binary Tree
题目: Given a non-empty binary tree, return the average value of the nodes on each level in the form of an array. Example 1: Input: 3 / \ 9 20 / \ 15 7 Output: [3, 14.5, ...原创 2018-04-07 00:37:27 · 211 阅读 · 0 评论 -
LeetCode 669. Trim a Binary Search Tree
题目: Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that all its elements lies in [L, R] (R >= L). You might need to change the root of the tree, so t...原创 2018-03-29 03:31:11 · 192 阅读 · 0 评论 -
LeetCode 617. Merge Two Binary Trees
题目: Given two binary trees and imagine that when you put one of them to cover the other, some nodes of the two trees are overlapped while the others are not.You need to merge them into a new binary...原创 2018-03-28 16:17:02 · 242 阅读 · 0 评论 -
LeetCode 606. Construct String from Binary Tree
题目: You need to construct a string consists of parenthesis and integers from a binary tree with the preorder traversing way.The null node needs to be represented by empty parenthesis pair “()”. And...原创 2018-04-07 20:24:57 · 209 阅读 · 0 评论 -
LeetCode 563. Binary Tree Tilt
题目: Given a binary tree, return the tilt of the whole tree.The tilt of a tree node is defined as the absolute difference between the sum of all left subtree node values and the sum of all right subtre原创 2017-04-24 17:33:46 · 768 阅读 · 0 评论 -
LeetCode 108. Convert Sorted Array to Binary Search Tree
题目: Given an array where elements are sorted in ascending order, convert it to a height balanced BST.思路: 将一个已排序的数组构成一个高度平衡的二叉排序树。每次中点为根结点,然后递归调用中点左边剩下的和右边剩下的元素。代码1:输出结果: 12ms代码2: 没有代码1快。/** * Defin原创 2017-05-01 16:45:11 · 351 阅读 · 0 评论 -
C++——构造高度平衡的BST,并按层序输出
从键盘读入一行数,放入一个vector,并且将其构造成一高度平衡的BST,并按层序输出。#include <iostream>#include <vector>#include <queue>using namespace std;struct TreeNode{//树的结构 int val; TreeNode *left; TreeNode *right; T原创 2017-05-02 16:26:11 · 822 阅读 · 0 评论 -
LeetCode 112. Path Sum
题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example: Given the below binary tree and su原创 2017-04-20 12:49:45 · 326 阅读 · 0 评论 -
《剑指Offer》 二叉树的深度
题目描述: 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。思路: 如果当前根节点为NULL返回0,递归调用左右子节点,返回l和r中大的那个值+1。代码:/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *righ原创 2017-04-09 12:42:32 · 437 阅读 · 0 评论 -
LeetCode 404. Sum of Left Leaves
题目: Find the sum of all left leaves in a given binary tree.Example: 3 / \ 9 20 / \ 15 7There are two left leaves in the binary tree, with values 9 and 15 respectively. Return 24.思路:原创 2017-04-09 11:24:42 · 247 阅读 · 0 评论 -
LeetCode 226. Invert Binary Tree
题目: Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1思路: 如果根节点为NULL直接返回NULL;否则 将左右子节点交换,再递归调用,返回根节点。代码:/** * Definition for a bi原创 2017-04-09 11:24:00 · 371 阅读 · 0 评论 -
LeetCode 111. Minimum Depth of Binary Tree
题目: Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.思路: 找出最小深度,最小深度是叶节点到根节点的最短路径,如果根节点没有叶原创 2017-04-09 11:22:11 · 236 阅读 · 0 评论 -
《剑指Offer》 从上往下打印出二叉树
题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路: 其实就是层序遍历,设置一个TreeNode*类型的队列s,用来保存二叉树层序遍历的节点,因为队列是先进先出,所以很好地控制了同层节点从左至右打印。如果root为空,直接返回空;将root入队列,当s不为空时,将此时s对应的节点的val放到treenum里,然后将s的左右孩子也入队列,再将已经取过val的节点pop。代码:/原创 2017-04-07 14:26:29 · 280 阅读 · 0 评论 -
LeetCode 104. Maximum Depth of Binary Tree
题目: Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.思路: 使用递归求解非常容易,一个节点的深度等于它的左子树的深度和它的右子原创 2017-04-04 16:20:01 · 342 阅读 · 0 评论 -
数据结构——树的存储结构孩子表示法
下面的程序就是下面这张表的实现: 程序实现 参考了《大话数据结构》中的定义:typedef struct CTNode{//孩子结点 int child; struct CTNode *next;} *ChildPtr;typedef struct{//表头结构 char data; ChildPtr firstchild;}CTBox;typedef str原创 2017-03-26 16:12:51 · 2571 阅读 · 0 评论 -
LeetCode 653. Two Sum IV - Input is a BST
题目: Given a Binary Search Tree and a target number, return true if there exist two elements in the BST such that their sum is equal to the given target.Example 1: Input: 5 / \ 3 ...原创 2018-04-07 04:22:44 · 270 阅读 · 0 评论