博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[CareerCup][Google Interview] Find kth number in a BST
阅读量:5973 次
发布时间:2019-06-19

本文共 1138 字,大约阅读时间需要 3 分钟。

Find kth number in a BST

递归实现,按照左根右的顺序来实现

1 #include 
2 using namespace std; 3 4 struct Node 5 { 6 Node *left; 7 Node *right; 8 int val; 9 Node():left(NULL), right(NULL){}10 };11 12 Node *findKthElement(Node *node, int &K)13 {14 if (node == NULL)15 return NULL;16 17 Node *left = findKthElement(node->left, K);18 19 if (left != NULL)20 return left;21 22 K--;23 24 if (K == 0)25 return node;26 27 Node *right = findKthElement(node->right, K);28 29 return right;30 }31 32 int main()33 {34 Node node[10];35 36 for(int i = 0; i < 10; i++)37 node[i].val = i;38 39 node[4].left = &node[2];40 node[4].right = &node[7];41 42 node[2].left = &node[1];43 node[2].right = &node[3];44 45 node[1].left = &node[0];46 47 node[7].left = &node[6];48 node[7].right = &node[8];49 50 node[6].left = &node[5];51 52 node[8].right = &node[9];53 54 for(int i = 1; i <= 10; i++)55 {56 int k = i;57 Node *ret = findKthElement(&node[4], k);58 cout << i << "th element:" << ret->val << endl;59 }60 }

 

 

转载地址:http://thfox.baihongyu.com/

你可能感兴趣的文章
查看mysql数据库版本方法总结
查看>>
大牛手把手教你做日历(建议你看看,你会有收获的)
查看>>
Django中的ORM
查看>>
iOS开发UI篇—Quartz2D使用(图片剪切)
查看>>
spring学习笔记(20)数据库事务并发与锁详解
查看>>
关于Simple_html_dom的小应用
查看>>
鲁肃:蚂蚁金服的三个梦想
查看>>
【springmvc+mybatis项目实战】杰信商贸-27.POI由HSSF升级为XSSF
查看>>
数学常数e的含义
查看>>
APM基础小记
查看>>
MVC
查看>>
CentOS 7 下 Oracle 11g 安装教程
查看>>
JS·基础(一)
查看>>
# 学习笔记-协议# OSI七层模型 与 TCP/IP五层协议
查看>>
Callbacks, Promises and Async/Await
查看>>
华为程序员:加6天班!加班费1.4万元!网友:我能加到它破产
查看>>
解读 JavaScript 之引擎、运行时和堆栈调用
查看>>
不得不懂系列(1)-Go语言protobuf快速上手
查看>>
版本控制系统git
查看>>
从月薪5k到5w的过来人 给大学生程序员们的一点建议
查看>>