zoukankan      html  css  js  c++  java
  • 2017/11/7 Leetcode 日记

    2017/11/7 Leetcode 日记

    669. Trim a Binary Search Tree

    Given a binary search tree and the lowest and highest boundaries as L and R, trim the tree so that all its elements lies in [L, R] (R >= L). You might need to change the root of the tree, so the result should return the new root of the trimmed binary search tree.

    (修改二叉搜索树,将[L, R]外的节点删除) 

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        TreeNode* trimBST(TreeNode* root, int L, int R) {
            if(root == NULL) return NULL;
            if(root->val < L) return trimBST(root->right, L, R);
            if(root->val > R) return trimBST(root->left, L, R);
            
            root->left = trimBST(root->left, L, R);
            root->right = trimBST(root->right, L, R);
            return root;
        }
    };
    c++ 未释放内存
    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        TreeNode* trimBST(TreeNode* root, int L, int R, bool top = true) {
            if(root == NULL) return NULL;
            
            root->left = trimBST(root->left, L, R, false);
            root->right = trimBST(root->right, L, R, false);
            
            if(root->val >= L && root->val <= R) return root;
            auto result = root->val < L ? root->right : root->left;
            if(!top) delete root;
            return result;
        }
    };
    c++ 释放内存
  • 相关阅读:
    Windows程序员的Linux快捷键
    Handeler的详细解释
    Asp.Net_Mvc_View
    使用脚本方式和使用控件方式来输出Html内容的区别
    当发布时报错: 找不到 obj\Debug\Package\PackageTmp\xxx.aspx 文件
    网路岗v1.2简单使用
    Html.Encode
    Android开发中的错误
    Asp.Net_Mvc_IgnoreRoute
    Linux目录结构
  • 原文地址:https://www.cnblogs.com/yoyo-sincerely/p/7800585.html
Copyright © 2011-2022 走看看