剑指offer:二叉搜索树转换为双向链表

xiaoxiao2021-02-28  31

题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

public class Solution { TreeNode lastOfList=null;//由于Java值传递机制,这两个变量不可以作为方法的参数传入     TreeNode head=null;//我们的处理方式是将它们作为类变量 public TreeNode Convert(TreeNode pRootOfTree) { if(pRootOfTree==null){ return null; } convert(pRootOfTree); return head; } public void convert(TreeNode pRootOfTree){ if(pRootOfTree!=null){ convert(pRootOfTree.left); pRootOfTree.left=lastOfList; if(lastOfList!=null){ lastOfList.right=pRootOfTree; } else{ System.out.println(pRootOfTree.val); head=pRootOfTree; } lastOfList=pRootOfTree; convert(pRootOfTree.right); }     } }
转载请注明原文地址: https://www.6miu.com/read-2600079.html

最新回复(0)