前言
今天的题目
昨天的题解
题目
每天一道剑指offer-二叉搜索树与双向链表
题目详述
输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。
题目详解
思路
先中序遍历二叉搜索树,这样二叉搜索树就按照val值的大小从小到大排好序了,存放在数组中
然后要转换为双向链表,由于数组中的存放的树的节点已经按照键值从小到大排好序了,那么就对于每个节点的左子树指向数组的上一个节点,右子树指向数组的下一个节点,这样就完成了变成双向链表。
代码
代码截图(避免乱码)
![640](https://i-blog.csdnimg.cn/blog_migrate/6e864139d50f8948bb5f7cf79e1251dd.jpeg)
结束语
作者乔戈里亲历2019秋招,哈工大计算机本硕,百度java工程师,欢迎大家关注我的微信公众号:程序员乔戈里,公众号有3T编程资源,以及我和我朋友(百度C++工程师)在秋招期间整理的近200M的面试必考的java与C++面经,并有每天一道leetcode打卡群与技术交流群,欢迎关注。