LintCode 第632题 二叉树的最大节点
来源:互联网 发布:尼康优化校准设置技巧 编辑:程序博客网 时间:2024/06/07 04:50
练习环境: Xcode
编程语言:C++
解题思路:
1.先创建一个任意输入数据的二叉树。二叉链表结构存储,输入#代表节点为空。
2.再利用前序遍历记录最大value值的那个节点。
具体代码:
//// main.cpp// LintCode//// Created by xl on 2017/11/30.// Copyright © 2017年 xl. All rights reserved.//#include <iostream>#include <stdio.h>#include <stdlib.h>using namespace std;typedef char ElemType;typedef struct BinaryTreeNode{ char value; struct BinaryTreeNode *lchild,*rchild;}BinaryTreeNode,*BinaryTree;BinaryTreeNode * CreatBiTree() { BinaryTreeNode * node; char data; cin>>data; if (data == '#') { node = NULL; } else { node = (BinaryTreeNode *)malloc(sizeof(BinaryTreeNode));//new BinaryTreeNode; node->value = data; node->lchild = CreatBiTree(); node->rchild = CreatBiTree(); } return node;}BinaryTreeNode * currentMaxNode = new BinaryTreeNode;void selectMaxNode(BinaryTreeNode *node) { if (node == NULL) { return; } if (node->value > currentMaxNode->value) { currentMaxNode->value = node->value; } selectMaxNode(node->lchild); selectMaxNode(node->rchild);}int main(int argc, const char * argv[]) { // insert code here... std::cout << "Hello, World!\n"; BinaryTreeNode *rootNode = CreatBiTree(); selectMaxNode(rootNode); cout<<currentMaxNode->value; return 0;}
阅读全文
0 0
- (lintcode)第632题二叉树的最大节点
- LintCode 第632题 二叉树的最大节点
- lintcode(632)二叉树的最大节点
- LintCode:二叉树的最大节点632
- LintCode-(632)二叉树的最大节点
- LintCode 二叉树的最大节点
- LintCode-二叉树的最大节点
- lintcode 二叉树的最大节点
- 二叉树的最大节点-LintCode
- [Lintcode]二叉树的最大节点
- lintcode--二叉树的最大节点
- LintCode二叉树的最大节点
- LintCode 二叉树的最大节点
- 二叉树的最大节点-LintCode
- LintCode 二叉树的最大节点
- Lintcode:二叉树的最大节点
- LintCode之632 二叉树最大节点
- 【LintCode-632】二叉树的最大节点(Java实现)
- Python pandas 数据框的str列内置的方法详解
- Android Hook技术初探
- 二进制、八进制、十六进制的概念以及加减运算
- 主成分变换的实现
- Cpp获取Windows系统版本
- LintCode 第632题 二叉树的最大节点
- springboot入门之mybatis
- [JSOI2007]字符加密Cipher
- Lintcode166 Nth to Last Node in List solution 题解
- javascript和易语言取GetCrc32
- Android Studio, Element path must be declared for FileProvider
- 单链表逆序打印方法
- border-radius
- 一场没有硝烟的战争---端口争夺战