日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【原创】leetCodeOj ---Convert Sorted List to Binary Search Tree 解题报告

發(fā)布時(shí)間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【原创】leetCodeOj ---Convert Sorted List to Binary Search Tree 解题报告 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原題地址:

https://oj.leetcode.com/problems/convert-sorted-list-to-binary-search-tree/

?

題目?jī)?nèi)容:

Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.

?

方法:

單純。如何安排插入順序,使得一棵二叉排序樹接近平衡?

你從中間開始插嘛。這樣左子樹和右子樹之差或者為0,或者為1。

所以,這個(gè)問題的本質(zhì)是找鏈表的中間節(jié)點(diǎn)。

找到中間節(jié)點(diǎn)后,遞歸產(chǎn)生左子樹和右子樹,在找左邊子鏈表的中間節(jié)點(diǎn)和右邊子鏈表的中間節(jié)點(diǎn)即可。

當(dāng)然啦,最后返回中間節(jié)點(diǎn)。

?

全部代碼:

/*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val = x; next = null; }* }*/ /*** Definition for binary tree* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }* }*/ public class Solution {public TreeNode sortedListToBST(ListNode head) {int len = countLen(head);if (len == 0)return null;return constructTree(head,len); // len is the number of nodes in list. }private TreeNode constructTree(ListNode head,int len){if (head == null || len <= 0)return null;int mid = len / 2 + 1;TreeNode tmp = new TreeNode(head.val);tmp.left = null;tmp.right = null;if (mid == 0)return tmp;ListNode tar = findMidNode(head,mid);tmp.val = tar.val;tmp.left = constructTree(head,mid - 1);tmp.right = constructTree(tar.next,len - mid);return tmp;}private ListNode findMidNode(ListNode head,int mid){int count = 1;while (mid != count++)head = head.next;return head;}private int countLen(ListNode head){int len = 0;while (head != null){len ++;head = head.next;}return len;} }

?

轉(zhuǎn)載于:https://www.cnblogs.com/shadowmydx/p/4117402.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的【原创】leetCodeOj ---Convert Sorted List to Binary Search Tree 解题报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。