zoukankan      html  css  js  c++  java
  • convert-sorted-list-to-binary-search-tree

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

    public class Solution {
        public TreeNode sortedListToBST(ListNode head) {
            int len=lenOFlist(head);
             TreeNode root=creatTree(head,0,len-1);
            return root;
            
        }
        public TreeNode creatTree(ListNode head,int left,int right){
            if(left>right)return null;
            int mid=(right+left+1)/2;/// right-(right-left+1)/2
            ListNode p=head;
            for (int i = left; i < mid; i++) {
                p=p.next;
            }
            TreeNode node=new TreeNode(p.val);
            TreeNode leftTree=creatTree(head, left, mid-1);
            TreeNode rightTree=creatTree(p.next, mid+1, right);
            node.left=leftTree;
            node.right=rightTree;
            
            return node;
            
        }
        public int lenOFlist(ListNode head){
            ListNode p=head;
            int count = 0;
            while(p!=null){
                count++;
                p=p.next;
            }
            return count;
        }
        
    }
  • 相关阅读:
    实验2实验报告
    实验1实验报告
    汇编实验九
    汇编实验5
    汇编实验四
    汇编实验三
    汇编实验二
    汇编实验一
    汇编第一章
    浅谈webpack4.0 性能优化
  • 原文地址:https://www.cnblogs.com/softwarewebdesign/p/5513721.html
Copyright © 2011-2022 走看看