面试题 17.12.BiNode

​​题目来源:

        leetcode题目,网址:面试题 17.12. BiNode - 力扣(LeetCode)

解题思路:

        中序遍历二叉树的同时将上一个节点的右节点指向当前节点,将当前节点的左节点置空即可。

解题代码:

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public TreeNode convertBiNode(TreeNode root) {
        if(root==null){
            return root;
        }
        TreeNode res=new TreeNode();//头节点为空
        convert(root,res);
        return res.right;
    }
    public TreeNode convert(TreeNode from, TreeNode to){
        if(from.left!=null){
            to=convert(from.left,to);
        }
        to.right=from;
        from.left=null;
        to=to.right;
        if(from.right!=null){
            to=convert(from.right,to);
        }
        return to;
    }
}
 
  

总结:

        无官方题解。


你可能感兴趣的:(#,java,leetcode,java)