国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

109. Convert Sorted List to Binary Search Tree

2019-11-09 20:19:52
字體:
來源:轉載
供稿:網友

跟上一題一樣只是變成鏈表,遍歷求中間值

/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * 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* build(ListNode* left, ListNode* right){ if (right == NULL && left == NULL){ return NULL; } if (right != NULL && right -> next == left){ return NULL; } ListNode* PReLeft = new ListNode(0); preLeft -> next = left; ListNode* tempNode = left; ListNode* preMiddleNode = preLeft; while (tempNode != right && tempNode -> next != right){ preMiddleNode = preMiddleNode -> next; tempNode = tempNode -> next -> next; } ListNode* middleNode = preMiddleNode -> next; TreeNode* root = new TreeNode(middleNode -> val); root -> left = build(left, preMiddleNode); root -> right = build(preMiddleNode -> next -> next, right); return root; } TreeNode* sortedListToBST(ListNode* head) { if(head == NULL) return NULL; return build(head, NULL); }};
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汉阴县| 通海县| 广河县| 张家口市| 关岭| 札达县| 寻乌县| 离岛区| 博白县| 高青县| 印江| 陵水| 太湖县| 德庆县| 大厂| 聂拉木县| 卢氏县| 晋江市| 错那县| 德钦县| 鄄城县| 张北县| 隆昌县| 长海县| 阳西县| 普陀区| 大理市| 榕江县| 维西| 琼中| 灵山县| 长寿区| 荣昌县| 隆安县| 丰原市| 包头市| 延津县| 仁怀市| 泸西县| 铅山县| 丽水市|