1. 程式人生 > >二叉樹-二叉查詢樹中搜索區間-中等

二叉樹-二叉查詢樹中搜索區間-中等

描述

給定兩個值 k1 和 k2(k1 < k2)和一個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有升序的節點值。

您在真實的面試中是否遇到過這個題?  是

樣例

如果有 k1 = 10 和 k2 = 22, 你的程式應該返回 [12, 20, 22].

    20
   /  \
  8   22
 / \
4   12

題目連結

程式

/**
 * Definition of TreeNode:
 * class TreeNode {
 * public:
 *     int val;
 *     TreeNode *left, *right;
 *     TreeNode(int val) {
 *         this->val = val;
 *         this->left = this->right = NULL;
 *     }
 * }
 */

class Solution {
public:
    /**
     * @param root: param root: The root of the binary search tree
     * @param k1: An integer
     * @param k2: An integer
     * @return: return: Return all keys that k1<=key<=k2 in ascending order
     */
    //定義全域性變數,方便在不同的函式之間使用
    vector<int> res;
    int key1, key2;

    void traverse(TreeNode * root){//採用前序遍歷
        if(root == NULL)
            return;
        if(key1 <= root->val && key2 >= root->val)//滿足條件的就存入
            res.push_back(root->val);
        traverse(root->left);
        traverse(root->right);
    }
    vector<int> searchRange(TreeNode * root, int k1, int k2) {
        // write your code here
        if(root == NULL)
            return res;
        key1 = k1;//全部變數值初始化
        key2 = k2;//全部變數值初始化
        traverse(root);
        sort(res.begin(),res.end());//採用升序排序
        return res;
    }
};

相關推薦

-查詢區間-中等

描述 給定兩個值 k1 和 k2(k1 < k2)和一個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有升序的節點值。 您在真實的面試中是否遇到

LintCode 11. 查詢區間 Python

描述 給定兩個值 k1 和 k2(k1 < k2)和一個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有升序的節點值。 樣例 如果有 k1 = 10 和

LintCode-----11.查詢區間

原題目 中序遍歷後比較 8056s import java.util.*; import java.lang.*; public class Solution { /*

11. 查詢區間

給定兩個值 k1 和 k2(k1 < k2)和一個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有升序的節點值。樣例如果有 k1 = 10 和 k2

LintCode:M-查詢區間

給定兩個值 k1 和 k2(k1 < k2)和一個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查詢樹的中的節點值。返回所有升序的節點值。

lintcode-查詢區間-11

給定兩個值 k1 和 k2(k1 < k2)和一個二叉查詢樹的根節點。找到樹中所有值在 k1 到 k2 範圍內的節點。即列印所有x (k1 <= x <= k2) 其中 x 是二叉查

lintcode 11. 查找區間

了解 hat 叠代器 tar post ger size 百度 開頭 class Solution { public: vector<int> res; int k11,k22; static bool comp(const int &

[LeetCode] Search in a Binary Search Tree 搜尋

  Given the root node of a binary search tree (BST) and a value. You need to find the node in the BST that the node's value equals the given value. R

易寶典——玩轉O365的EXO服務 之四十 導出就地電子數據展示結果

雲計算 Office 365 微軟 PST文件 就地電子數據展 對於搜索結果,如果僅僅只能預覽查看而不能提取,那麽就無法將相關結果提供給第三方(如法院)作為證據或其它電子數據需求處理。在Office 365的Exchange Online中,提供兩種提取電子數據展示搜索結果的方案。分別是將

【模板】Trie(字典,單詞查詢

int n; // 0為根節點 char a[MAX_N]; // a[0] = 0; int p[MAX_N][26]; void Update(string s) { int now = 0, len = s.size(); for(register int i = 0; i < l

字首( 又名:TRIE、單詞查詢、字典) 和 字尾(Suffix)

概念 字首樹:將海量字串儲存在一棵樹中。 字尾樹:將一個字串分解成一棵樹。 字首樹 節點的結構體: struct trieNode { bool isEnd;//是否可以作為字串的終結節點 trieNode *child[26]; } 字首樹:

資料結構之二分查詢

二叉查詢樹(Binary Search Tree),也稱有序二叉樹(ordered binary tree),排序二叉樹(sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹: 若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; 任意節點的右

[LeetCode] Search in Rotated Sorted Array II 在旋轉有序陣列

Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this affect the run-time complexity? How and why? Write a function

平衡查詢——2-3查詢——紅黑(1)

二叉查詢樹VS平衡查詢樹 Binary Search Tree possibilities Balanced Search Trees 如何學 平衡查詢樹 為了保證之前學習的二分查詢樹BST的平衡性,解決在最壞情況時高度為N的情況

B-和B+的應用:數據和數據庫索引

深度 出現 通過 都在 def 查找樹 兩個指針 屬性排序 n+1 B-樹 1 .B-樹定義 B-樹是一種平衡的多路查找樹,它在文件系統中很有用。 定義:一棵m 階的B-樹,或者為空樹,或為滿足下列特性的m 叉樹:⑴樹中每個結點至多有m 棵子樹;⑵若根結點不是葉子結點,

<MySQL學習>用正則表達式進行(持續更新)

例子 表達式 比較 特殊 通配 HERE 足夠 字符 mysql學習 1、正則表達式介紹   前面的過濾例子允許使用匹配、比較和通配操作符尋找數據。對於基本操作就足夠了,但是隨著過濾條件的復雜性的增加,WHERE子句本身的復雜性也有必要的增加。   正則表達式是用來匹配文本

小橙書閱讀指南(十)——無向圖、深度優先和路徑查找算法

val 短路徑 clas 圖論 bsp 檢查 inf targe 自然 在計算機應用中,我們把一系列相連接的節點組成的數據結構,叫做圖。今天我們將要介紹它的一種形式——無向圖,以及針對這種結構的深度優先搜索和路徑查找算法。 一、無向圖數據結構 接口: /** * 圖論接

【LeetCode-面試算法經典-Java實現】【033-Search in Rotated Sorted Array(在旋轉數組)】

class con 旋轉 rip target ext addclass 返回 rotated 【033-Search in Rotated Sorted Array(在旋轉數組中搜索)】 【LeetCode-面試算法經典-Java實現】【全部題目

LeetCode 33. Search in Rotated Sorted Array(在旋轉有序序列

one cheng http ati .com order hal 幫助 列表 Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (

寫了小工具分享:按關鍵字文件在數據文件數據行

tor ffi doc qt3 ngx log 文件 cnblogs weibo 瘧鑰磷4cn0g鄧票纖http://t.docin.com/sina_6372016379囊評門3qykd瘓舜戲http://weibo.com/p/1005055850649325妹扯燃3y