PAT--1115. Counting Nodes in a BST
来源:互联网 发布:苹果付费画图软件 编辑:程序博客网 时间:2024/05/21 07:10
pat A.1115
题解
每个结点附加一个域表示该结点所在的层次,建树的时候同时计算。
然后遍历之。
#include <iostream>#include <string>#include <algorithm>using namespace std;typedef struct node* BinTree;struct node{ int k; int l; BinTree left, right; node(int _k, int _l):k(_k), l(_l), left(0), right(0){}};int n1, n2;int p = -10000;BinTree Insert(BinTree T, int k, int l){ p = max(p, l); if(!T) T = new node(k, l); else if(k <= T->k) T->left = Insert(T->left, k, l + 1); else if(k > T->k) T->right = Insert(T->right, k, l + 1); return T;}void traversal(BinTree T){ if(!T) return; if(T->l == p - 1) n2++; if(T->l == p) n1++; traversal(T->left); traversal(T->right);}int main(){ int n, a; BinTree root = NULL; cin >> n; for(int i = 0; i < n; ++i) { cin >> a; root = Insert(root, a, 1); } traversal(root); cout << n1 << " + " << n2 << " = " << n1 + n2 << endl;}
0 0
- PAT--1115. Counting Nodes in a BST
- 【PAT】1115. Counting Nodes in a BST
- PAT A 1115. Counting Nodes in a BST (30)
- PAT 1115 Counting Nodes in a BST
- solution Of Pat 1115. Counting Nodes in a BST (30)
- PAT 1115. Counting Nodes in a BST (30)
- pat 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST (30) PAT 甲级
- 【PAT】【Advanced Level】1115. Counting Nodes in a BST (30)
- PAT 1115. Counting Nodes in a BST (30) 建树
- PAT 甲级 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST
- 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST (30)
- 1115. Counting Nodes in a BST (30)
- HashMap实现原理分析以及HashSet
- Java swing更改全局字体
- Java中多线程线程的控制及常用方法
- JS解析XML--实现省市县级联
- 第三周项目4:穷举法解决组合问题(3)年龄几何
- PAT--1115. Counting Nodes in a BST
- 《剑指offer》——二叉树的下一个结点
- iOS多线程开发
- BZOJ-1877 晨跑 最小费用最大流+拆点
- Spring lookup-method
- 两步搞定 Tomcat 下启用 https:// 访问
- 一维数组实现杨辉三角
- 函数(-)
- make命令