程序员面试金典——树转链表

xiaoxiao2021-02-28  91

题目描述

有一个类似结点的数据结构TreeNode,包含了val属性和指向其它结点的指针。其可以用来表示二叉查找树(其中left指针表示左儿子,right指针表示右儿子)。请编写一个方法,将二叉查找树转换为一个链表,其中二叉查找树的数据结构用TreeNode实现,链表的数据结构用ListNode实现。

给定二叉查找树的根结点指针root,请返回转换成的链表的头指针。

解题相关:二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树

思路:测试,发现,打印结果是从小到大顺序排列的需要用中序遍历

import java.util.*; /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ /* public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }*/ public class Converter { ListNode head = new ListNode(-1); ListNode p = head; public ListNode treeToList(TreeNode root) { // write code here if(root!=null){ treeToList(root.left); p.next = new ListNode(root.val); p=p.next; treeToList(root.right); }//if return head.next; } }

转载请注明原文地址: https://www.6miu.com/read-70118.html

最新回复(0)