 Öğelerin artan düzende sıralandığı nums tamsayı dizisi verildiğinde, onu yükseklik dengeli bir ikili arama ağacına dönüştürün. Java'da işlevi yazın.
Sıralanmış bir tamsayı dizisini yükseklik dengeli bir ikili arama ağacına dönüştürmek için Java kodu şöyledir: ``` public TreeNode sortedArrayToBST(int[] nums) { if(nums == null || nums.length == 0) { return hükümsüz; } convertToBST'yi döndür(sayılar, 0, sayılar.uzunluk - 1); } özel TreeNode convertToBST(int[] nums, int start, int end) { if(start > end) { null döndürür; } int orta = başlangıç + (bitiş - başlangıç) / 2; TreeNode kökü = new TreeNode(sayı[orta]); root.left = convertToBST(sayılar, başlangıç, orta - 1); root.right = convertToBST(sayılar, orta + 1, bitiş); kök dönüşü; } ``` `sortedArrayToBST` yöntemi, dizinin boş veya boş olduğu temel durumu kontrol eder. Bu durumlardan biri doğruysa, null değerini döndürür. Aksi takdirde, Böl ve Yönet yaklaşımı kullanarak tekrar tekrar dengeli bir ikili arama ağacı oluşturan "convertToBST" yöntemini çağırır. Önce aralığımızın ortadaki elemanını (baştan sona) bulup kök yapıyoruz. Ardından, yeni aralıklarla (başlangıçtan orta-1'e ve orta+1'den sona) `convertToBST'yi çağırarak tekrar tekrar sol ve sağ alt ağaçları oluştururuz. Her çağrıda, 'convertToBST' yöntemi yeni bir düğüm oluşturur, değerini ortadaki öğeye ayarlar ve sonraki özyinelemeli çağrılar tarafından döndürülen sol ve sağ çocukları atar. Son olarak, oluşturulan BST'nin kök düğümünü döndürür.