日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法题复习(栈与队列、二叉树)

發布時間:2023/12/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法题复习(栈与队列、二叉树) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 棧與隊列
    • 棧用于匹配的問題
    • 隊列用于堆
  • 二叉樹系列
    • 深度遍歷,遞歸與迭代
    • 層序遍歷
    • 二叉樹屬性
    • 二叉樹修改與構造
    • 二叉搜索樹
    • 公共祖先
    • 二叉搜索樹的修改與構造

棧與隊列

棧用于匹配的問題

20. 有效的括號
https://leetcode-cn.com/problems/valid-parentheses/
不匹配的三種情況;
1、字符串左方向的括號多余了
2、字符串右方向的括號多余了
3、字符串括號沒有多余,但是類型不匹配。
使用棧的時候三者對應到的棧的情況;
1、已經遍歷完字符串,但是棧不為空
2、遍歷字符串匹配的過程中,棧已經為空了
3、再遍歷字符串匹配的過程中,發現棧中沒有要匹配的字符。

class Solution { public:bool isValid(string s) {stack<int> st;for(int i = 0; i < s.size(); i++){if(s[i] == '(') st.push(')');else if(s[i] == '[') st.push(']');else if(s[i] == '{') st.push('}');//接下來就是判斷,這個是1、3情況else if(st.empty() || st.top() != s[i]){return false;}//如果匹配,那么出棧else{st.pop();}}//第2種情況,遍歷完字符串,棧不為空return st.empty();} };

1047. 刪除字符串中的所有相鄰重復項,與上一題思路一致,注意reverse函數的使用。
https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/

class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i = 0; i < s.size(); i++){if(!st.empty() && st.top() == s[i]){st.pop();}elsest.push(s[i]);}string result ="";//將stack中數據輸出while(!st.empty()){result += st.top();st.pop();} //然后倒序reverse(result.begin(),result.end());return result;} };

150. 逆波蘭表達式求值,做計算器程序的肯定知道這個,不過一般來說我們編寫的是將中綴表達式轉換為逆波蘭表達式。
逆波蘭表達式適合用棧操作運算:遇到數字則入棧;遇到算符則取出棧頂兩個數字進行計算,并將結果壓入棧中。
與前幾題一樣思路,先將stirng轉換成int入棧,tokens[i]是運算符,使用該運算符計算棧頂前兩個元素。
需要注意的編程細節:
1、stack.pop()并不返回棧頂元素。所以要在pop之前,取top元素。
2、 stoi(s1)可以將string類型數據轉化為int類型,比較方便。

class Solution { public:int evalRPN(vector<string>& tokens) {stack<int> st;for(int i = 0; i < tokens.size(); i++){if(tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/"){int num2 = st.top();st.pop();int num1 = st.top();st.pop();if(tokens[i] == "+"){st.push(num1 + num2);}else if(tokens[i] == "-"){st.push(num1 - num2);}else if(tokens[i] == "*"){st.push(num1 * num2);}else{st.push(num1 / num2);}}else{st.push(stoi(tokens[i]));}}return st.top();} };

隊列用于堆

347. 前 K 個高頻元素,思路簡單,對容器的使用比較復雜。
1、統計元素出現頻率,使用map
2、對頻率進行排序,使用優先級隊列(從隊頭取元素,從隊尾添加元素,隊列內部自動按照元素的權值排序)
3、找出前K個高頻元素,使用小頂堆,小頂堆每次將最小的元素彈出,最后小頂堆中積累的才是K個最大元素。
構建過程:
1、根據頻率,構建map
2、構建小頂堆,將所有頻率送入堆中,如果堆的大小大于K了,將元素從堆頂彈出。
這里需要注意priority_queue的設置方式:

priority_queue<Type, Container(Type), Functional>

Type 就是數據類型,Container 就是容器類型(Container必須是用數組實現的容器,比如vector,deque等等,但不能用 list。STL里面默認用的是vector),Functional 就是比較的方式,當需要用自定義的數據類型時才需要傳入這三個參數,使用基本數據類型時,只需要傳入數據類型,默認是大頂堆.
這里我們設置成這樣:
送入的是pair對(這里指map),比較方式需要自定義,這里比較的是pair對第二個元素的值,從小到大排序。(注意優先隊列以vector為容器,隊首指向vector后面,隊尾指向vector前面)

priority_queue< pair<int,int>,vector< pair<int,int> >,mycomparison > pri_que; class Solution { public://定義優先隊列的排序方式,根據pair的第二個元素的大小,大的排后面。class mycomparison {public:bool operator()(const pair<int,int>& lhs,const pair<int,int>& rhs) {return lhs.second > rhs.second;}};vector<int> topKFrequent(vector<int>& nums, int k) {//統計元素出現頻率unordered_map<int,int> map; //map<nums[i],對應頻次>for(int i = 0; i < nums.size(); i++)map[nums[i]]++;//對頻率排序//定義一個小頂堆,大小為kpriority_queue< pair<int,int>,vector< pair<int,int> >,mycomparison > pri_que;//用固定大小k的小頂堆掃描所有頻率的數值for(unordered_map<int,int>::iterator it = map.begin(); it != map.end(); it++){pri_que.push(*it);if(pri_que.size() > k) pri_que.pop();}//找出前k個高頻元素,因為小頂堆先彈出的是最小的,所以倒序輸出到數組中。vector<int> result(k);for(int i = k - 1; i >= 0; i--){result[i] = pri_que.top().first;pri_que.pop();}return result;} };

二叉樹系列

二叉樹鏈式存儲方式:

struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x): val(x), left(nullptr), right(nullptr) {} };

深度遍歷,遞歸與迭代

三種遍歷方式:
144. 二叉樹的前序遍歷
https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
145. 二叉樹的后序遍歷
https://leetcode-cn.com/problems/binary-tree-postorder-traversal/
94. 二叉樹的中序遍歷
https://leetcode-cn.com/problems/binary-tree-inorder-traversal/

遞歸法模板:前序遍歷為例

class Solution { public:void traversal(TreeNode* cur,vector<int>& vec){if(cur == nullptr) return;vec.push_back(cur->val);traversal(cur->left,vec);traversal(cur->right,vec);}vector<int> preorderTraversal(TreeNode* root) {vector<int> result;traversal(root,result);return result;} };

迭代法模板:中序遍歷為例
注意:棧的特性入棧和出棧相反,所以如果想輸出順序為“左中右”,入棧順序必須為“右中左”

class Solution { public:vector<int> inorderTraversal(TreeNode* root) {vector<int> result;stack<TreeNode*> st;if(root != nullptr) st.push(root);while(!st.empty()){TreeNode* node = st.top();if(node != nullptr){st.pop();if(node->right != nullptr) st.push(node->right);st.push(node);st.push(nullptr);if(node->left != nullptr) st.push(node->left);}else{st.pop();result.push_back(st.top()->val);st.pop();}}return result;} };

層序遍歷

層序遍歷模板如下:

class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;if(root != nullptr) que.push(root);vector<vector<int>> result;while(!que.empty()) {int size = que.size();vector<int> vec;for(int i = 0; i < size; i++){TreeNode* node = que.front();que.pop();vec.push_back(node->val);if(node->left) que.push(node->left);if(node->right) que.push(node->right);}result.push_back(vec);}return result;} };

102. 二叉樹的層序遍歷
https://leetcode-cn.com/problems/binary-tree-level-order-traversal/
107. 二叉樹的層序遍歷 II
https://leetcode-cn.com/problems/binary-tree-level-order-traversal-ii/
199. 二叉樹的右視圖
https://leetcode-cn.com/problems/binary-tree-right-side-view/
637. 二叉樹的層平均值
https://leetcode-cn.com/problems/average-of-levels-in-binary-tree/
429. N 叉樹的層序遍歷
https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal/
515. 在每個樹行中找最大值,注意max初始值取最小值INT_MIN
https://leetcode-cn.com/problems/find-largest-value-in-each-tree-row/
116. 填充每個節點的下一個右側節點指針,這一題要注意同層節點之間的鏈接,在單層遍歷的時候記錄本層的頭部節點,然后在遍歷的時候讓前一個節點指向本節點,本層最后一個節點next指向nullptr。
117. 填充每個節點的下一個右側節點指針 II,這兩題代碼一樣。
https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node-ii/
https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/

class Solution { public:Node* connect(Node* root) {queue<Node*> que;if(root != nullptr) que.push(root);while(!que.empty()){int size = que.size();Node* pre;Node* now;for(int i = 0; i < size; i++){//每層第一個元素if(i == 0){pre = que.front();que.pop();now = pre;}else //非第一個元素{now = que.front();que.pop();pre->next = now;pre = now;}if(now->left) que.push(now->left);if(now->right) que.push(now->right);}//每一層最后一個元素pre->next = nullptr;}return root;} };

104. 二叉樹的最大深度,層序遍歷,在while循環中++;
https://leetcode-cn.com/problems/maximum-depth-of-binary-tree/
111. 二叉樹的最小深度,一樣的思路,不過在每層節點遍歷時需要檢查是否無左右孩子,如果沒有,則立刻返回當前層數。

if(!node->left && !node->right) return result;

二叉樹屬性

101. 對稱二叉樹
https://leetcode-cn.com/problems/symmetric-tree/
遞歸法:外層是對稱的,內層也是對稱的。
確定遞歸函數參數、返回值:

bool compare(TreeNode* left,TreeNode* right)

確定終止條件:
1、左右都為空,返回true
2、左右只有一個為空,返回false
3、左右結點均不為空,比較結點數值,不相同返回false
4、左右結點均不為空,數值相同時,還要繼續向下判斷
確定單層邏輯;
1、比較二叉樹外側是否對稱:傳入左結點的左孩子,右結點的右孩子。
2、比較內側是否對稱,傳入左結點的右孩子,右結點的左孩子。
3、如果左右都對稱就返回true,否則返回false

class Solution { public:bool compare(TreeNode* left,TreeNode* right){if(!left && !right) return true;else if((!left && right) || (left && !right)) return false;else if(right->val != left->val) return false;//下面就是right->val == left->val的情況了,還得繼續探討bool outside = compare(right->right,left->left);bool inside = compare(right->left,left->right);return (outside && inside);}bool isSymmetric(TreeNode* root) {if(root == nullptr) return true;return compare(root->left,root->right);} };

關于二叉樹的最小深度與最大深度,在層序遍歷中已經涉及到了
…在此省略
222. 完全二叉樹的節點個數,層序遍歷+節點計數
https://leetcode-cn.com/problems/count-complete-tree-nodes/
110. 平衡二叉樹
https://leetcode-cn.com/problems/balanced-binary-tree/
遞歸三部曲:
1、確定遞歸函數的參數和返回值
傳入當前節點,返回值為當前節點的高度。返回-1表示不是平衡二叉樹
2、終止條件
遇到空節點為終止,返回0,表示當前節點為根節點的高度為0
3、單層的邏輯
判斷當前傳入節點為根節點的二叉樹是否為平衡二叉樹:比較左子樹高度和右子樹高度,差值<=1返回當前二叉樹的高度,否則返回-1.

class Solution { public:int getDepth(TreeNode* node){if(node == nullptr) return 0;int leftDepth = getDepth(node->left);if(leftDepth == -1) return -1;int rightDepth = getDepth(node->right);if(rightDepth == -1) return -1;int result;if(abs(leftDepth - rightDepth) > 1)return -1;elseresult = 1 + max(leftDepth,rightDepth);return result;}bool isBalanced(TreeNode* root) {if(getDepth(root) != -1) return true;else return false;} };

257. 二叉樹的所有路徑
遞歸三部曲+前序遍歷+回溯pop+字符串處理即可。

class Solution { public:void traversal(TreeNode* cur, vector<int>& path,vector<string>& result){path.push_back(cur->val);//到達葉子節點if(cur->left == nullptr && cur->right == nullptr){string sPath;for(int i = 0; i < path.size() - 1; i++){sPath += to_string(path[i]);sPath += "->";}sPath += to_string(path[path.size() - 1]);result.push_back(sPath);return;}//如果不是葉子節點if(cur->left){traversal(cur->left,path,result);path.pop_back(); //回溯}if(cur->right){traversal(cur->right,path,result);path.pop_back(); //回溯}}vector<string> binaryTreePaths(TreeNode* root) {vector<string> result;vector<int> path;if(root == nullptr) return result;traversal(root,path,result);return result;} };

404. 左葉子之和
https://leetcode-cn.com/problems/sum-of-left-leaves/
如果某節點的左節點不為空,且左節點沒有左右孩子,那么這個節點就是左葉子。
必須通過節點的父節點來判斷其左孩子是不是左葉子。
遞歸三部曲:
1、返回值為數值之和,傳入參數為樹的根節點
2、終止條件:遇到空節點返回
3、單層邏輯:遇到左葉子節點的時候,記錄數值,然后通過遞歸求取左子樹左葉子之和和右子樹左子葉之和,相加便是整個樹的左葉子之和。

class Solution { public:int sumOfLeftLeaves(TreeNode* root) {if(root == nullptr) return 0;int leftval = sumOfLeftLeaves(root->left);int rightval = sumOfLeftLeaves(root->right);int midval = 0;if(root->left != nullptr && root->left->left == nullptr && root->left->right == nullptr){midval = root->left->val;}int sum = midval + leftval + rightval;return sum;} };

513. 找樹左下角的值
https://leetcode-cn.com/problems/find-bottom-left-tree-value/
層序遍歷+記錄每一行的第一個節點數值即可。
112. 路徑總和
https://leetcode-cn.com/problems/path-sum/
遞歸三部曲:
1、參數:二叉樹的根節點+一個計數器
這個計數器用來計算二叉樹的一條邊之和是否正好是目標和,計數器為int
返回值:bool
2、終止條件
count初始值為目標和,然后每次減去遍歷路徑點的數值。
如果最后count == 0,同時到了葉子節點的話,說明找到了目標和。
3、單層邏輯
由于終止條件是判斷葉子節點,所以遞歸的過程中不要讓空節點進入遞歸。
如果遞歸函數的返回值為true,說明找到了合適的路徑,應該立即返回。

class Solution { public:bool traversal(TreeNode* cur,int count){if(cur->left == nullptr && cur->right == nullptr && count == 0) return true; //遇到葉子節點,并且計數為0if(cur->left == nullptr && cur->right == nullptr) return false; //遇到葉子節點而沒有找到合適的邊,直接返回if(cur->left) {count -= cur->left->val;if(traversal(cur->left,count)) return true;count += cur->left->val;}if(cur->right) {count -= cur->right->val;if(traversal(cur->right,count)) return true;count += cur->right->val;}//否則return false;}bool hasPathSum(TreeNode* root, int targetSum) {if(root == nullptr) return false;targetSum = targetSum - root->val;return traversal(root,targetSum);} };

二叉樹修改與構造

226. 翻轉二叉樹
先序遍歷,先交換左右孩子,然后反轉左子樹,反轉右子樹。

class Solution { public:TreeNode* invertTree(TreeNode* root) {if(root == nullptr) return root;swap(root->left,root->right);invertTree(root->left);invertTree(root->right);return root;} };

106. 從中序與后序遍歷序列構造二叉樹 比較復雜
https://leetcode-cn.com/problems/construct-binary-tree-from-inorder-and-postorder-traversal/
步驟:
1、如果數組大小為0的話,說明是空節點
2、如果不為空,取后序數組最后一個元素作為節點元素
3、找到后序數組最后一個元素在中序數組的位置,作為切割點
4、切割中序數組,切成中序左數組和中序右數組。(記住,先切割中序數組!!!)
5、切割后序數組,切成后序左數組和后序右數組
6、遞歸處理左區間和右區間

切割的時候按照左閉右開的原則。后序數組的切割要根據中序數組切割出來的大小,還要注意后序數組在切割前要將最后一個數剔除。

class Solution { public:TreeNode* traversal(vector<int>& inorder,int Inbegin,int Inend,vector<int>& postorder,int Postbegin,int Postend){//第一步,檢查后序數組大小if(Postbegin == Postend) return nullptr;//第二步:后序數組中最后一個元素,就是當前的中間節點int rootval = postorder[Postend - 1];TreeNode* root = new TreeNode(rootval);//葉子節點if(Postbegin - Postend == 1) return root;//第三步,中序數組找切割點int splitIndex = 0;for(splitIndex = Inbegin; splitIndex < Inend; splitIndex++){if(inorder[splitIndex] == rootval) break;}//第四步,切割中序數組,得到中序左數組和中序右數組int leftInbegin = Inbegin;int leftInend = splitIndex;int rightInbegin = splitIndex+1;int rightInend = Inend;//第五步:切割后序數組,得到后序左數組和后序右數組int leftPostbegin = Postbegin;int leftPostend = Postbegin + leftInend - leftInbegin;int rightPostbegin = leftPostend;int rightPostend = Postend - 1;//第六步,遞歸處理左區間和右區間root->left = traversal(inorder,leftInbegin,leftInend,postorder,leftPostbegin,leftPostend);root->right = traversal(inorder,rightInbegin,rightInend,postorder,rightPostbegin,rightPostend);return root;} TreeNode* buildTree(vector<int>& inorder, vector<int>& postorder) {if(inorder.size() == 0 || postorder.size() == 0) return nullptr;//左閉右開return traversal(inorder,0,inorder.size(),postorder,0,postorder.size());} };

105. 從前序與中序遍歷序列構造二叉樹,操作類似
https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/submissions/
654. 最大二叉樹
https://leetcode-cn.com/problems/maximum-binary-tree/submissions/

二叉搜索樹

700. 二叉搜索樹中的搜索
遞歸:

TreeNode* searchBST(TreeNode* root, int val) {if(root == nullptr || root->val == val) return root;if(root->val > val) return searchBST(root->left,val);if(root->val > val) return searchBST(root->right,val);return nullptr;}

98. 驗證二叉搜索樹
二叉搜索樹中序遍歷得到的數組是遞增的。

class Solution { public:vector<int> vec;void traversal(TreeNode* node){if(node == nullptr) return ;traversal(node->left);vec.push_back(node->val);traversal(node->right);}bool isValidBST(TreeNode* root) {vec.clear();traversal(root);for(int i = 1; i < vec.size(); i++){if(vec[i] <= vec[i - 1]) return false;}return true;} };

530. 二叉搜索樹的最小絕對差
轉換為有序數組,然后對有序數組進行比較。
501. 二叉搜索樹中的眾數
轉換為有序數組,然后對相鄰兩個元素進行比較,統計相同頻次,有一些細節需要注意。

class Solution { public:vector<int> vec;void traversal(TreeNode* node){if(node == nullptr) return ;traversal(node->left);vec.push_back(node->val);traversal(node->right);}vector<int> findMode(TreeNode* root) {if(root == nullptr) return {};vec.clear();vector<int> result;traversal(root);unordered_map<int,int> umap;int maxcount = 1;int count = 1;result.push_back(vec[0]);for(int i = 1; i < vec.size(); i++){if(vec[i] == vec[i-1]){count++;}elsecount = 1;if(count == maxcount)result.push_back(vec[i]);if(count > maxcount){maxcount = count;result.clear();result.push_back(vec[i]);}}return result;} };

538. 把二叉搜索樹轉換為累加樹
https://leetcode-cn.com/problems/convert-bst-to-greater-tree/
定義一個全局變量preval用來存儲上一個節點值,然后右中左遍歷二叉樹。中間節點處理就是加上preaval,然后更新preval。

公共祖先

236. 二叉樹的最近公共祖先
https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-tree/
通過后序遍歷,回溯,自下向上。
如何判斷一個節點是節點q和節點p的公共祖先:
如果找到一個節點,發現左子樹出現了節點p,右子樹出現了q;或者左子樹出現q,右子樹出現p。那么該節點就是節點p和q的最近公共祖先。

class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {if(root == p || root == q || root == nullptr) return root;TreeNode* left = lowestCommonAncestor(root->left,p,q);TreeNode* right = lowestCommonAncestor(root->right,p,q);//如果left和right都不為空,則說明root就是最近公共祖先if(left != nullptr && right != nullptr) return root;if(left == nullptr && right != nullptr) return right;else if(left != nullptr && right == nullptr) return left;else return nullptr;} };

235. 二叉搜索樹的最近公共祖先
https://leetcode-cn.com/problems/lowest-common-ancestor-of-a-binary-search-tree/submissions/

class Solution { public:TreeNode* traversal(TreeNode* cur, TreeNode* p, TreeNode* q){if(cur == nullptr) return cur;if(cur->val > p->val && cur->val > q->val) {TreeNode* left = traversal(cur->left,p,q);if(left != nullptr) return left;}if(cur->val < p->val && cur->val < q->val){TreeNode* right = traversal(cur->right,p,q);if(right != nullptr) return right;}//否則說明,cur是最近公共祖先(從底向上)return cur;}TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {return traversal(root,p,q);} };

二叉搜索樹的修改與構造

701. 二叉搜索樹中的插入操作
https://leetcode-cn.com/problems/insert-into-a-binary-search-tree/
遍歷二叉搜索樹,然后遇到空節點,插入即可。遞歸函數返回節點。

class Solution { public:TreeNode* insertIntoBST(TreeNode* root, int val) {if(root == nullptr){//插入操作TreeNode* node = new TreeNode(val);return node;}if(root->val > val) root->left = insertIntoBST(root->left,val);if(root->val < val) root->right = insertIntoBST(root->right,val);return root; } };

450. 刪除二叉搜索樹中的節點
https://leetcode-cn.com/problems/delete-node-in-a-bst/
刪除操作比較麻煩:
1、沒有找到刪除的結點,遍歷到空結點直接返回。
2、找到了刪除的結點:
【1】如果左右孩子都為空,直接刪除這個結點,返回NULL為根結點
【2】如果左孩子為空,右孩子不為空,刪除結點,右孩子補位,返回右孩子作為根結點
【3】如果右孩子為空,左孩子不為空,刪除結點,左孩子補位,返回左孩子作為根結點
【4】如果左右孩子不為空,則將刪除結點的左子樹的頭結點放到刪除結點的右子樹的最左邊結點的左孩子上,返回刪除結點右孩子,作為新的結點

class Solution { public:TreeNode* deleteNode(TreeNode* root, int key) {if(root == nullptr) return root;//如果找到了該節點if(root->val == key) {//第二種情況,左右孩子均空,刪除該節點,返回nullptrif(root->right == nullptr && root->left == nullptr) return nullptr;if(root->left == nullptr) return root->right;else if(root->right == nullptr) return root->left;else{TreeNode* cur = root->right; //找右子樹最左邊節點while(cur->left != nullptr)cur = cur->left;cur->left = root->left;TreeNode* tmp = root;root = root->right;delete tmp;return root;}}//如果沒有找到,繼續遍歷if(root->val > key) root->left = deleteNode(root->left,key);if(root->val < key) root->right = deleteNode(root->right,key);return root;} };

669. 修剪二叉搜索樹
https://leetcode-cn.com/problems/trim-a-binary-search-tree/
如果當前結點的值小于low,要對該結點的右孩子進行再次搜索,直到找到滿足區間的結點或者空結點,最后返回right結點
如果當前結點的值大于high,要對該結點的左孩子進行再次搜索,直到找到滿足區間的結點或者空結點,最后返回left結點。
自上而下遍歷檢查,直到整棵樹遍歷完。
依次遍歷結點左右孩子,并將返回的結果作為當前結點的左右孩子。
最后返回當前結點。
返回的結點必然是val在區間內或者是空結點。

class Solution { public:TreeNode* trimBST(TreeNode* root, int low, int high) {if(root == nullptr) return nullptr;if(root->val < low){//尋找新的節點TreeNode* right = trimBST(root->right,low,high);return right;}if(root->val > high){TreeNode* left = trimBST(root->left,low,high);return left;}//如果在這個區間內,那么就對左右子樹進行操作root->left = trimBST(root->left,low,high);root->right = trimBST(root->right,low,high);return root;} };

108. 修剪二叉搜索樹
https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/\

class Solution { public:TreeNode* traversal(vector<int>& nums,int left,int right){//這里我們定義區間是左閉右開的if(left == right) return nullptr;int mid = left + ((right-left) >> 1);TreeNode* node = new TreeNode(nums[mid]);node->left = traversal(nums,left,mid);node->right = traversal(nums,mid+1,right);return node;}TreeNode* sortedArrayToBST(vector<int>& nums) {if(nums.empty()) return nullptr;return traversal(nums,0,nums.size());} };

總結

以上是生活随笔為你收集整理的算法题复习(栈与队列、二叉树)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

激情五月婷婷综合 | 亚洲不卡123 | 中文字幕在线中文 | 91精品国产自产在线观看 | 久久久久欧美精品 | 国产99精品在线观看 | 亚洲精品乱码白浆高清久久久久久 | 少妇搡bbbb搡bbb搡aa | 国产精品99久久久久久久久 | 中文字幕在线不卡国产视频 | 青青射 | 久久精品久久99 | 亚洲精品玖玖玖av在线看 | 久久久精品小视频 | 日韩电影在线观看一区 | 国产高清精品在线观看 | 亚洲永久精品在线观看 | 成人a在线观看 | 99久久免费看 | 中文字幕在线观看视频一区 | 日韩伦理片一区二区三区 | 特级黄色一级 | 91精品视频一区二区三区 | 女人高潮一级片 | 免费在线观看污 | 亚洲国产成人精品在线观看 | 在线免费观看黄色大片 | 在线午夜av | 久久国产精品99久久久久久丝袜 | 亚洲午夜久久久久久久久电影网 | 美女国产网站 | 手机av永久免费 | 99精品视频在线观看视频 | 色偷偷男人的天堂av | 91在线免费观看国产 | 免费看一及片 | 九九免费在线看完整版 | 国产尤物在线 | 亚洲国产午夜 | 成人h动漫在线看 | 天天干,狠狠干 | 人人干网站 | www.com.黄| 2024国产在线 | 国产一区视频免费在线观看 | 天天射天天干天天操 | 国产精品福利小视频 | 欧美91精品 | 天天天天天天干 | 欧美视频一区二 | 亚洲天堂网在线视频观看 | 在线观看岛国av | 在线观看黄av | 久久 国产一区 | 2019免费中文字幕 | 日韩视频在线观看免费 | 中文在线最新版天堂 | 国产精品国产自产拍高清av | 色姑娘综合网 | 天天综合网 天天综合色 | 天天色天天艹 | 亚洲另类视频 | 99久久精品久久亚洲精品 | 视频福利在线观看 | 国产精品一区二区久久 | 人人澡人人干 | 激情丁香综合 | 香蕉久久久久 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 久草香蕉在线视频 | 午夜成人免费影院 | 国产精品理论片在线播放 | 亚洲精品一区二区精华 | 欧美另类重口 | 最新av网站在线观看 | 91精品网站在线观看 | 国产xxxx做受性欧美88 | 91久久精品一区 | 午夜视频免费 | 国产一二三区av | 99久久久免费视频 | 在线观看免费黄色 | 91精品国产九九九久久久亚洲 | 精品美女在线观看 | 五月天久久婷 | 久久99精品波多结衣一区 | 精品国产aⅴ麻豆 | 福利片视频区 | 成人久久免费视频 | 天天插狠狠插 | 手机色在线 | 亚洲午夜精品久久久久久久久 | 国产青春久久久国产毛片 | 亚洲天堂网在线视频观看 | 日韩免费视频网站 | 波多野结衣在线播放一区 | 在线观看电影av | 国产99久| 欧美精品亚洲精品日韩精品 | 精品国产一区二区三区不卡 | 深爱激情亚洲 | 免费手机黄色网址 | 国产欧美精品一区二区三区四区 | 黄色大片国产 | 狠狠色丁香婷综合久久 | 在线播放 亚洲 | 亚洲午夜久久久久久久久久久 | 免费黄色网止 | 国产真实精品久久二三区 | 免费日韩 精品中文字幕视频在线 | 成人免费在线网 | 天天躁日日躁狠狠 | 91在线文字幕 | 国产高清不卡 | 一区二区三区在线观看中文字幕 | 一区二区电影在线观看 | 毛片网站观看 | 国产区精品视频 | 欧美日韩aa| 亚洲国产日韩在线 | 国产福利精品视频 | 三级av中文字幕 | 成人黄在线观看 | 五月激情六月丁香 | 国产精品女人久久久久久 | 久久人人添人人爽添人人88v | 天天插夜夜操 | 久久精品成人热国产成 | 国产一区欧美二区 | 狠狠狠狠狠狠干 | 黄色a在线观看 | 超碰伊人网 | 97激情影院 | 中文字幕资源网 国产 | 亚洲成年片 | 色综合久久久久 | 国产一级性生活 | 精品国产精品一区二区夜夜嗨 | 国产中文字幕网 | 狠狠操综合 | 深爱开心激情网 | 日韩电影一区二区在线观看 | 奇米网网址 | 一区二区三区在线视频111 | 操夜夜操 | 在线免费观看羞羞视频 | 能在线观看的日韩av | 又黄又网站 | 精品免费一区 | 中文字幕精品一区 | 久久久久欧美精品 | 91麻豆网| 国产色拍拍拍拍在线精品 | 亚洲午夜精品久久久久久久久久久久 | 成片免费观看视频大全 | 99av国产精品欲麻豆 | 成人午夜精品 | 国产精品久久久久久久婷婷 | 亚洲人成在线电影 | 一本色道久久综合亚洲二区三区 | 国产特级毛片aaaaaaa高清 | 国产在线观看黄 | 日韩国产精品久久久久久亚洲 | 天天伊人狠狠 | 日韩大片在线 | 国产毛片久久久 | 国产精品久久久久久99 | 久久久久日本精品一区二区三区 | 69久久99精品久久久久婷婷 | 日韩高清激情 | 亚洲精品大片www | 成人在线免费看 | 一级性av | 欧美一区二区三区激情视频 | 精品久久1 | 麻豆视频91 | 欧美视频国产视频 | 成人av高清 | 中文乱幕日产无线码1区 | 国产黄色片久久 | 久久高清毛片 | 超碰97免费观看 | 免费在线观看一区 | 日韩色一区二区三区 | 日韩精品中文字幕一区二区 | av在线播放国产 | 久久免费国产视频 | 欧美成人播放 | 国产精品久久久久一区二区国产 | 亚洲综合在线播放 | 久久免费黄色网址 | 久久艹在线 | 中文字幕一区三区 | 天堂av在线免费观看 | 天天插天天干 | 射综合网| 超碰97网站| 久久精品伊人 | 欧美国产日韩一区二区三区 | 日韩欧美一区二区三区在线观看 | 97天天干| 91香蕉视频在线 | 日韩在线播放av | 综合久久久久久久 | 国产另类xxxxhd高清 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 欧美一级久久久久 | 国产精品无av码在线观看 | 91在线区| 日韩啪视频 | 99性视频 | 国产男男gay做爰 | 激情五月亚洲 | 国产资源精品 | 在线视频91| 中国成人一区 | 欧美日韩有码 | 免费网站色 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 三上悠亚一区二区在线观看 | 99爱这里只有精品 | 国产成人精品三级 | 毛片黄色一级 | 在线免费色视频 | 欧美一区二区三区在线观看 | 天天天天色射综合 | 亚洲日日日 | 国产精品毛片 | 顶级欧美色妇4khd | 久久免费国产电影 | 中文字幕人成一区 | 天天综合久久综合 | 亚洲精品免费在线视频 | 国产精品毛片久久久久久久 | 国产婷婷一区二区 | 欧美精品一区二区蜜臀亚洲 | 黄色官网在线观看 | 粉嫩av一区二区三区入口 | 在线精品视频免费观看 | 欧美日韩在线视频观看 | 99久高清在线观看视频99精品热在线观看视频 | 成年人网站免费在线观看 | 日韩国产精品毛片 | 天天操网址| 亚洲免费av在线播放 | 免费视频资源 | 最新91在线视频 | 黄色小说视频在线 | 国产91精品一区二区 | 亚洲精品激情 | 97在线影视| 欧美日韩在线观看一区 | av福利在线导航 | 狠狠狠色丁香综合久久天下网 | 国产精品久久久久久久久久白浆 | 中文字幕在线看视频国产中文版 | 精品久久久久久久久亚洲 | 久久 在线 | 免费在线观看av网站 | 国产涩图 | 成 人 黄 色 视频 免费观看 | 亚洲欧美日本国产 | 国产一区二区久久 | 91社区国产高清 | av中文字幕亚洲 | 国产在线 一区二区三区 | 亚洲精品成人免费 | 99久久精品免费一区 | 欧美日韩高清在线一区 | 午夜性盈盈 | 国产精品欧美久久久久三级 | 欧美激情综合五月色丁香 | 国产成人福利片 | 91久久国产精品 | 精品国产一区二区三区免费 | 久久久久久久99 | 美女在线观看网站 | 久久综合九色综合欧美就去吻 | av电影免费在线看 | 一本一道波多野毛片中文在线 | 国产高清福利在线 | 日韩免费在线观看视频 | 国模精品一区二区三区 | 久久精品免费 | 香蕉视频国产在线 | 国产成人久久精品77777 | 在线看片视频 | 久久国产精品久久国产精品 | 成人av电影免费在线观看 | 国产成人a亚洲精品v | 欧美最猛性xxxx | 久久久久久久久久久电影 | 久久免费播放 | 国产日韩欧美在线观看 | 99视频国产精品免费观看 | 欧美一级久久久久 | 日本韩国精品一区二区在线观看 | 麻豆视频入口 | 99热精品在线 | 欧美欧美 | 国产精品国产三级在线专区 | 国产一线二线三线性视频 | 久久亚洲欧美日韩精品专区 | 99热超碰在线 | 久久69av | 国产精品人成电影在线观看 | 亚洲激情婷婷 | 婷婷色综 | 精品一区二区免费在线观看 | 国产 一区二区三区 在线 | 伊色综合久久之综合久久 | 亚洲一区二区精品视频 | 国产尤物一区二区三区 | 久草9视频| 国产精彩在线视频 | 天堂久久电影网 | 天天干夜夜干 | 国产女v资源在线观看 | 久久国产成人午夜av影院宅 | 久久在线电影 | 美女啪啪图片 | av一区二区在线观看中文字幕 | 最新亚洲视频 | 香蕉影院在线播放 | 成人午夜电影在线播放 | 日韩av影视 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 97超碰人人在线 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 国产精品网红直播 | 亚洲人人射 | 99视频导航| 中文字幕a在线 | 手机在线黄色网址 | 日韩免费网址 | 999在线精品 | 欧美资源在线观看 | 欧美乱熟臀69xxxxxx | 亚洲影院色 | 亚洲一区美女视频在线观看免费 | 日韩黄色大片在线观看 | 免费看黄在线网站 | 久久艹人人 | 成人精品国产免费网站 | 亚洲精品在线一区二区 | 久久成人一区二区 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 久久久久久久久久久久久影院 | 欧美日韩国产网站 | 在线免费亚洲 | 亚洲国产精品日韩 | 日韩一级精品 | 亚洲欧洲在线视频 | 成人中文字幕在线 | 亚洲婷婷丁香 | 亚洲综合五月天 | 日韩性xxxx | 亚洲国产精品激情在线观看 | 国产精品视频app | 精品国产不卡 | 国产精选视频 | 天天干天天爽 | 国产人成一区二区三区影院 | 精品亚洲欧美一区 | 色偷偷网站视频 | 韩国一区视频 | 丁香六月久久综合狠狠色 | 天天天天射 | 极品美女被弄高潮视频网站 | 在线观看视频在线 | 亚洲在线视频观看 | 玖玖视频 | 99国产在线观看 | 亚洲欧美国产精品久久久久 | 狠狠狠色丁香婷婷综合久久88 | 美女网站视频免费黄 | 欧美精品一区二区三区一线天视频 | 视频成人免费 | 日韩午夜大片 | 日韩影片在线观看 | 狠狠狠综合 | 一区 在线观看 | 久久精品视频免费播放 | 国产精品第一 | 国产很黄很色的视频 | 亚洲精品国精品久久99热 | 麻豆免费在线播放 | 日本精品午夜 | 曰本免费av| 免费网站黄色 | 国产亚洲精品美女久久 | 视频福利在线 | 97在线观看视频国产 | 成片人卡1卡2卡3手机免费看 | 亚洲国产伊人 | av爱干 | 欧美日韩在线视频观看 | 97国产大学生情侣酒店的特点 | 五月婷婷黄色网 | 黄p网站在线观看 | 97在线视频免费 | 成人久久18免费网站图片 | 精品久久一区 | 国产一区二区三区视频在线 | 97精产国品一二三产区在线 | 色av网站| 一区二区电影在线观看 | 又大又硬又黄又爽视频在线观看 | 天天激情天天干 | 亚洲毛片在线观看. | 一区二区三区免费在线观看视频 | 综合色在线观看 | 97视频在线观看免费 | 特级毛片在线免费观看 | 国产在线精品二区 | 日日夜夜综合 | 久久精品99国产精品亚洲最刺激 | 高清一区二区三区 | 国产精品久久久久久久av电影 | 久久草在线免费 | 色橹橹欧美在线观看视频高清 | 在线91播放 | 午夜国产一区二区 | 欧美日韩高清一区二区 | 96看片| 久色网| 人人看黄色 | 狠狠狠狠狠色综合 | 国产精品1区2区在线观看 | 国产无限资源在线观看 | 欧美久久久久久久久中文字幕 | 精品久久久久一区二区国产 | 国产精品高潮呻吟久久av无 | 国产三级av在线 | 久久精品99精品国产香蕉 | 麻豆国产网站 | 天天色天天色 | 日本一区二区免费在线观看 | 国产午夜一区 | 久久99国产综合精品免费 | 夜夜夜| 欧美一二三视频 | 欧美精品在线观看一区 | 精品国产乱码久久久久久天美 | 99视频在线免费看 | 2019天天干天天色 | 91在线永久 | 日本三级中文字幕在线观看 | 亚洲最大激情中文字幕 | 日韩高清www| 久久大片网站 | 亚洲精品高清视频在线观看 | 国产a级片免费观看 | 亚洲va欧美va | 中文字幕999| 99精品视频精品精品视频 | 日韩高清三区 | 91色国产| 韩国一区二区三区视频 | 成人黄色毛片视频 | 久草在线最新视频 | 国产成人精品午夜在线播放 | 国产一级黄 | 国产精品久久久久av免费 | 免费观看av | 91久久黄色 | 狠狠色噜噜狠狠 | 中文字幕日本电影 | 日韩免费一区二区三区 | 成人久久18免费 | 成人免费xxx在线观看 | 激情校园亚洲 | 欧美午夜久久久 | 国产电影黄色av | 亚洲精品国偷自产在线91正片 | 国产成人在线播放 | 蜜桃视频成人在线观看 | 亚洲三级视频 | 亚洲黄色av| 人人爽影院 | 欧美视频xxx| 91免费看黄色 | 超碰资源在线 | 人人草在线视频 | 国产一二三精品 | 丁香网婷婷 | 欧美日韩一区二区久久 | av在线电影网站 | 国产精品视频全国免费观看 | 人人擦| 亚洲第一中文字幕 | 国产手机av在线 | 狠狠色狠狠色综合日日小说 | 亚洲无吗视频在线 | 亚洲精品视频播放 | 欧美日韩国产一区二 | 国产一及片 | 色综合天天综合 | 在线观看激情av | 亚洲美女视频在线观看 | 久久视频99 | 日韩午夜av | 激情综合网婷婷 | 色橹橹欧美在线观看视频高清 | 成人av在线网 | 日本一区二区三区免费看 | 国产手机视频在线 | 综合五月婷婷 | 男女啪啪网站 | av资源免费看 | 欧美国产日韩在线视频 | 一区二区视频免费在线观看 | 国产精品成久久久久三级 | 国产999免费视频 | 韩日三级在线 | 国产高清在线精品 | 国产免费亚洲高清 | 欧美一级免费片 | 特级西西444www大胆高清无视频 | 大胆欧美gogo免费视频一二区 | 精品电影一区 | 伊人日日干| 亚洲成人精品影院 | 久久久久久久网 | 中文在线资源 | 一区二区三区在线免费观看 | 日日爽| 天天射天天艹 | 欧美资源在线观看 | 福利av在线| 国产一二区视频 | 在线高清一区 | 亚洲视频每日更新 | 精品一区二区三区久久 | 国产美女视频网站 | 国产精品videoxxxx | 国产无遮挡猛进猛出免费软件 | 久久国产精品色婷婷 | 国产色综合天天综合网 | 国产资源免费 | 精品一二三区视频 | 久久桃花网| 精品高清美女精品国产区 | 免费在线观看黄色网 | 久久综合电影 | 亚洲精品综合一区二区 | 在线黄色av电影 | 亚洲精品免费观看视频 | 99久久精 | 美女久久久久久久久久久 | 日韩网站视频 | 美女视频永久黄网站免费观看国产 | 日韩在线视频不卡 | 日本黄色一级电影 | 中文字幕乱码电影 | 国产91电影在线观看 | 国产原创中文在线 | 久久国产乱 | 嫩小bbbb摸bbb摸bbb | 国产一区二区高清不卡 | 色综合久久五月 | 国产一级高清视频 | 色播99| 在线看一区 | a久久久久| 在线观看国产一区二区 | 怡春院av| 在线免费观看黄色大片 | 91免费日韩 | 99精品久久久久久久久久综合 | 免费视频国产 | 国产不卡视频在线 | 一区二区男女 | 国产小视频在线观看 | 日韩手机在线观看 | 天天做天天爽 | 深夜国产在线 | 免费色视频在线 | 久久综合久久综合九色 | 国产精品久久免费看 | 99久久久国产精品免费99 | 人人玩人人添人人 | 精品国产一区二区三区四区在线观看 | 水蜜桃亚洲一二三四在线 | 狠狠色丁香久久婷婷综合丁香 | 人人插人人澡 | 亚洲码国产日韩欧美高潮在线播放 | 久久无码精品一区二区三区 | 国外调教视频网站 | 最近中文字幕mv免费高清在线 | 69av视频在线观看 | 免费看一级 | 久久久久电影网站 | 五月婷婷一级片 | 免费视频久久久久久久 | 欧美一区二区日韩一区二区 | 黄色性av | 国产96精品| 91视频在线免费下载 | 久久99国产精品自在自在app | 97超碰伊人 | 国产91影院 | 久久精品国产第一区二区三区 | 日韩中文字幕免费视频 | 国产日本三级 | 五月天久久婷婷 | 欧美日韩中文在线观看 | 久久国内精品视频 | www.777奇米| 特级黄色片免费看 | 国产黄大片在线观看 | 久久国产精品久久久久 | www在线免费观看 | 国产精品免费小视频 | 久久夜夜爽| 日韩精品一区二区免费视频 | 麻豆传媒视频在线免费观看 | 三级av免费看 | 97av在线视频 | 亚洲人久久久 | 久久黄色片子 | 夜添久久精品亚洲国产精品 | 免费观看福利视频 | 在线看黄网站 | 日韩中文在线电影 | 92中文资源在线 | 91视频三区| 久草在线视频网 | 国产色久 | 国产五月婷婷 | 婷婷av色综合 | av经典在线 | 亚洲精品乱码久久久久久蜜桃不爽 | 免费网站黄 | 国产成本人视频在线观看 | 伊人午夜 | 亚洲春色综合另类校园电影 | 欧美另类xxx| 91女子私密保健养生少妇 | 在线亚洲精品 | a黄色影院 | 国产一级片直播 | 欧美国产在线看 | www.色午夜.com| 国产中文字幕一区二区三区 | 国产精品18久久久久久首页狼 | 精品成人a区在线观看 | 日韩欧美网址 | 福利视频一区二区 | 国产日韩中文在线 | 精品视频123区在线观看 | 最近中文字幕久久 | 97精品国产一二三产区 | 亚洲 欧美日韩 国产 中文 | 国产精品男女 | 91亚色视频在线观看 | 最近中文字幕mv免费高清在线 | 91精品国产乱码久久桃 | 国内久久视频 | 久久精品美女 | 99热这里只有精品在线观看 | 亚洲在线成人精品 | 在线观看91 | 日本久久不卡视频 | 中文字幕在线观看网址 | 日本中文在线 | 天天想夜夜操 | 激情视频免费在线 | 国产专区免费 | 夜夜骑天天操 | 日韩视频1区| 国产在线观看xxx | 国产精品一区免费看8c0m | 一本色道久久综合亚洲二区三区 | 国产精品嫩草影院123 | 99久久国产免费免费 | 亚洲精品乱码久久久久久9色 | 国产精品99久久久久 | 97超碰成人 | 久久只精品99品免费久23小说 | 久久五月网| 国产在线永久 | 国产打女人屁股调教97 | 国产黄网站在线观看 | 免费观看国产成人 | 国产精品欧美激情在线观看 | 狠狠干夜夜 | 人人插人人射 | av导航福利| 开心婷婷色 | 五月天激情视频在线观看 | 成人久久18免费 | 黄色免费国产 | 国产亚洲在线 | 在线播放日韩av | 亚洲九九九 | 男女全黄一级一级高潮免费看 | 麻豆网站免费观看 | 99riav1国产精品视频 | 国产精品99久久久久久宅男 | 国产精品视频久久 | 在线视频中文字幕一区 | 中字幕视频在线永久在线观看免费 | av在线在线 | 黄色动态图xx | 久久新 | 久久综合久久久 | 国产一区二区三区四区大秀 | 婷婷丁香激情综合 | 日韩午夜电影网 | 黄色在线看网站 | 美女黄频网站 | www.伊人网 | 日韩午夜三级 | 99精品久久99久久久久 | 操久 | 久99久精品视频免费观看 | 欧美一区二区三区不卡 | 国产成人久久精品亚洲 | 深夜免费福利视频 | 欧美日韩视频免费 | 国产原创在线 | 国产精品免费成人 | 日韩一区在线免费观看 | 亚洲精品456在线播放乱码 | 亚洲三级在线 | 在线草| 一级黄色片网站 | 麻豆va一区二区三区久久浪 | 国产成人在线综合 | 亚洲成av人片在线观看香蕉 | 成人国产网站 | 91看片麻豆 | 国产精品一区二区三区免费视频 | 丰满少妇一级片 | 久久精品一二三 | 超碰夜夜 | 天天射射天天 | 日韩精品久久久 | 成 人 黄 色视频免费播放 | 亚洲日本欧美在线 | 999久久a精品合区久久久 | 中字幕视频在线永久在线观看免费 | 久久福利综合 | 碰超人人 | 国产99久久久国产精品成人免费 | 国产婷婷在线观看 | 日韩av片无码一区二区不卡电影 | 久草香蕉在线 | 色婷婷欧美 | 国产视频首页 | 99久久电影 | 日本精品视频免费观看 | 99婷婷 | 最近中文字幕高清字幕在线视频 | 日韩v欧美v日本v亚洲v国产v | 久久久网 | 又黄又爽又湿又无遮挡的在线视频 | 成年人免费看片网站 | 日日躁你夜夜躁你av蜜 | 午夜精品久久久久久久久久久 | 久草在线中文888 | 色香蕉视频 | 91视频在线自拍 | 久久中文精品视频 | 亚洲女同videos | 麻豆91视频| av中文字幕日韩 | 国产精品日韩欧美一区二区 | 最新中文字幕在线观看视频 | 四虎在线影视 | 中文字幕超清在线免费 | 精品国产免费看 | 日韩丝袜 | 久久这里只有精品久久 | 看毛片网站 | 亚洲精品资源在线 | 西西人体4444www高清视频 | av电影中文字幕在线观看 | 中文字幕在线视频国产 | 免费日韩视频 | 久久1电影院 | 91高清不卡| www色网站| 网站在线观看你们懂的 | 成人在线视频免费看 | 欧美污污网站 | 国产精品成人av在线 | 精品九九九九 | 麻豆视频成人 | 色婷婷九月 | 欧美射射射 | 中文字幕一二三区 | 狠狠狠狠狠狠天天爱 | 日韩欧美成 | 国产一级电影在线 | 国产午夜激情视频 | 欧美日韩国产在线观看 | 国产一区二区精品91 | 亚洲国产成人高清精品 | 亚洲视频一级 | 日韩一区正在播放 | 免费91麻豆精品国产自产在线观看 | 国产视频在线观看一区 | 欧美性大战久久久久 | 日韩在线不卡av | www.在线看片.com | 在线亚洲欧美视频 | 亚洲天堂精品视频 | 五月婷婷av在线 | 日韩av中文字幕在线 | 人人澡超碰碰97碰碰碰软件 | 黄色小说免费在线观看 | av中文字幕网址 | 麻豆国产精品va在线观看不卡 | 国产精品久久久久久久久大全 | 国产成人免费 | 又紧又大又爽精品一区二区 | 91精品国自产在线观看欧美 | 九九热免费视频在线观看 | 国产黄色成人 | 亚洲精品视频网站在线观看 | 日韩福利在线观看 | 射九九| 久久久久久高清 | 一区精品在线 | 国产精品久久久久久久久蜜臀 | 四虎影视精品 | 国产精品乱码在线 | www五月天婷婷 | 成人影视免费 | av在线播放国产 | 日韩电影中文字幕在线 | 亚洲一级片在线观看 | 天堂在线一区二区三区 | 国内免费久久久久久久久久久 | 在线看岛国av | 亚洲天堂网站 | 香蕉久久久久久久 | 91传媒激情理伦片 | 国产一级a毛片视频爆浆 | 天天操夜夜干 | 久久99视频| 亚洲精品一区二区三区高潮 | 欧美精品在线免费 | 欧美另类高潮 | 久久曰视频 | 国产99久久精品一区二区300 | 一级免费看视频 | 精品国产一区二区三区久久影院 | 日韩电影中文字幕在线 | 97在线精品国自产拍中文 | 九九一级片 | 在线成人小视频 | 又黄又刺激的视频 | 一区二区三区免费播放 | 久久人视频 | 国产精品专区在线观看 | 欧美一级日韩免费不卡 | 国产精品 中文字幕 亚洲 欧美 | 天天综合区 | 99热在线观看免费 | 欧美激情第28页 | 欧美一级片免费播放 | 91精品国产高清自在线观看 | 91亚洲影院 | 日韩理论电影网 | 黄色福利网站 | 国产精品久久久久影院日本 | 欧美精品一区二区蜜臀亚洲 | 日韩中文字幕91 | 免费视频久久 | 少妇bbw揉bbb欧美 | 五月婷在线 | 在线有码中文 | 伊人网综合在线观看 | 成人毛片a | 欧美日韩三级 | 久久天天躁夜夜躁狠狠躁2022 | 91大神视频网站 | 伊人官网 | 亚洲精品一区二区精华 | 亚洲视频在线视频 | 美女视频一区二区 | 丁香午夜 | 成人在线视频网 | 亚洲禁18久人片 | 91理论电影 | 久久久久国产视频 | 日本久久电影网 | 黄色www| 国产馆在线播放 | 97超视频免费观看 | 久久久黄视频 | 精品96久久久久久中文字幕无 | 久久久黄色免费网站 | 在线观看激情av | 91免费观看国产 | 一级电影免费在线观看 | 成年人免费在线播放 | 亚洲精品女人 | 国产一级免费av | 99国产情侣在线播放 | 天天草天天草 | 亚洲精品福利视频 | 天天天天综合 | 五月天六月婷 | 国产91综合一区在线观看 | 99精品国产免费久久久久久下载 | 亚洲在线成人精品 | 久久成人精品电影 | 免费观看黄 | 国产一区二区网址 | av综合在线观看 | 在线免费观看黄网站 | 国产高清免费视频 | 狠狠色狠狠色综合日日小说 | 国产精品99久久免费观看 | 黄色成人在线 | 久久99精品国产一区二区三区 | 四虎影视国产精品免费久久 | 天堂网中文在线 | 高清av中文字幕 | 国产在线a不卡 | 黄色一级片视频 | 91精品夜夜| 日韩视频图片 | 国产日韩精品在线观看 | 亚洲在线黄色 | 极品国产91在线网站 | 日韩av不卡在线观看 | 天天色天天爱天天射综合 | 亚洲精品在线免费看 | 国产香蕉97碰碰碰视频在线观看 | 九九九热精品 | 午夜三级大片 | 91成人在线视频 | 国产录像在线观看 | 久国产在线播放 | 日韩免费 | 中文字幕一区二区三区四区视频 | 91人人爽久久涩噜噜噜 | 三级av在线 | 黄色免费网站 | 美女一区网站 | 黄色亚洲| 91av成人| 亚洲va韩国va欧美va精四季 | 综合精品久久久 | 久香蕉 | 免费观看9x视频网站在线观看 | 成人免费看视频 | 特级片免费看 | 天天插狠狠插 | 亚洲 欧美 日韩 综合 | 成人免费视频播放 | 亚洲欧洲一级 | 成人午夜精品久久久久久久3d | 精品久久久久久综合 | 久久精品视频网址 | 夜夜躁狠狠躁日日躁视频黑人 | 综合网成人 | 日韩欧美在线视频一区二区 | 日韩电影在线观看一区二区三区 | 欧美成人一区二区 | 日本女人逼 | 久久久免费播放 | 亚洲三级毛片 | 黄色网址国产 | 亚洲精品免费观看视频 | 国产亚洲精品美女久久 | 91桃色国产在线播放 | 欧美性成人 | 91成人蝌蚪| 日批视频在线 | 黄色大全在线观看 | 97人人澡人人添人人爽超碰 | 免费久久网| 久草在线播放视频 | 三级av在线播放 | 精品国产伦一区二区三区免费 | 亚洲激情视频 | 黄av免费| 欧美大片在线观看一区 | 日韩久久一区二区 | 一区二区视频免费在线观看 | 免费高清在线观看成人 | 精品婷婷 | av免费在线观 | 久草免费在线观看 | 国产精品久久久影视 | 韩国精品在线观看 | 国产视频不卡 | 男女视频久久久 | 9在线观看免费高清完整版在线观看明 | 久久综合偷偷噜噜噜色 | 天天鲁天天干天天射 | a视频在线观看免费 |