Sıralanmış Dairəvi Əlaqəli Siyahıya LeetCode Həllini daxil edin

Problem Bəyanatı: Çeşidlənmiş Dairəvi Əlaqəli Siyahıya daxil edin LeetCode Həlli – deyir ki, artan qaydada çeşidlənən Dairəvi Əlaqəli Siyahı qovşağını nəzərə alaraq, siyahıya insertVal dəyərini daxil etmək funksiyasını yazın ki, o sıralanmış dairəvi siyahı olaraq qalsın. Verilmiş node ola bilər...

Daha çox oxu

İkili Ağacı Əlaqəli Siyahıya Düzləşdirin LeetCode Həll

İkili Ağacı Əlaqəli Siyahıya Düzləşdirin LeetCode Həll deyir ki, - nəzərə alınmaqla root ikili ağacın, ağacı "əlaqəli siyahı" halına salın:

  • "Əlaqələndirilmiş siyahı" eyni istifadə etməlidir TreeNode sinif harada right uşaq göstərici siyahıda növbəti node və left uşaq göstərici həmişə null.
  • "Əlaqələndirilmiş siyahı" a ilə eyni sırada olmalıdır əvvəlcədən sifariş xain ikili ağacdan.

 

Misal 1:

İkili Ağacı Əlaqəli Siyahıya Düzləşdirin LeetCode HəllInput:

 root = [1,2,5,3,4,null,6]

Çıxış:

 [1,null,2,null,3,null,4,null,5,null,6]

Misal 2:

Input:

 root = []

Çıxış:

 []

Misal 3:

Input:

 root = [0]

Çıxış:

 [0]

 

ALQORİTM -

İDEA -

  • İkili ağacı düzəltmək üçün əvvəlcə sol alt ağacın ən sağ elementini tapacağıq və ən sağdakı elementi əldə etdikdən sonra həmin düyünün sağ göstəricisini verilmiş ağacın sağ alt ağacı ilə əlaqələndirəcəyik.
  • 2-ci addımda biz kök qovşağının sağ göstəricisini sol-alt ağac ilə əlaqələndirəcəyik və sol-alt ağacı null olaraq təyin edəcəyik.
  • 3-cü addımda indi bizim kök qovşağımız sağ-alt ağac qovşağıdır. Eyni proses bu qovşaqda baş verəcək və bütün sol hissələr sıfır olana qədər proses davam edəcək.

İkili Ağacı Əlaqəli Siyahıya Düzləşdirmək üçün Yanaşma - Leetcode Həll

– Əvvəlcə bir dövrə işlədəcəm, yəni while(root != null) sonra iki dəyişən götürüb sol-alt ağacı saxlayacağam.

– sonra while(k.left != null) istifadə edərək sol alt ağacın ən sağdakı qovşağını yoxlayacaq və (k.right = root.right) istifadə edərək həmin qovşağı sağ alt ağacla əlaqələndirəcək.

– sonra kök nodunun sağ göstəricisini sol alt ağac ilə əlaqələndirin (root.right = left) və kök nodun sol göstəricisini null (root.left=null) olaraq təyin edin və (root.left=null) ilə yenilənəcək, buna görə də indi kök sağdır. alt ağac qovşağı.

– bu proses bütün sol-alt ağac hissələri sağ alt ağaca çevrilənə qədər davam edəcək. Beləliklə, ikili ağac yastılaşacaq.

 

İkili Ağacı Əlaqəli Siyahıya Düzləşdirin LeetCode Həll

İkili Ağacı Əlaqəli Siyahıya Düzləşdirin LeetCode Həll

Python Həlli:

class Solution:
    def flatten(self, root: Optional[TreeNode]) -> None:
        while(root):
            
            if root.left:
                
                k = root.left
                temp = root.left
            
            
                while(k.right):
                    k = k.right
            
                k.right = root.right
            
                root.right = temp
            
                root.left = None
            
            root = root.right

Java Həlli:

class Solution {
    public void flatten(TreeNode root) {       
        while (root != null) {
            if (root.left != null) {
                TreeNode k = root.left;
                TreeNode temp = root.left;
                while (k.right != null) k = k.right;
                k.right = root.right;
                root.right = temp;
                root.left = null;
            }
            root = root.right;
        }
    }
}

Zaman mürəkkəbliyi: O(N)

Kosmik Mürəkkəblik: O (1)

Yalnız bir dəfə keçdiyimiz üçün zaman mürəkkəbliyi o(n) olacaqdır.

və biz heç bir əlavə yer tutmadığımıza görə, kosmik mürəkkəblik o(1) daimi əlavə yer olacaqdır.

Oxşar Sual - https://www.tutorialcup.com/interview/linked-list/flattening-linked-list.htm

Tək Cüt Əlaqəli Siyahı Leetcode Həlli

Problem bəyanatı Tək-Cüt Əlaqəli Siyahı LeetCode Həlli – “Tək-Cüt Əlaqəli Siyahı” boş olmayan tək-cüt əlaqəli siyahının verildiyini bildirir. Biz tək indeksli bütün qovşaqları, ardınca isə cüt indeksli qovşaqları qruplaşdırıb yenidən sıralanmış siyahını qaytarmalıyıq. Qeyd edək ki, hər ikisində nisbi qayda…

Daha çox oxu

İki Nömrə II Leetcode Həllini əlavə edin

Problem Bəyanatı İki Rəqəm Əlavə et II LeetCode Həlli – “İki Nömrəni Əlavə et II” iki boş olmayan əlaqəli siyahının iki qeyri-mənfi tam ədədi təmsil etdiyini bildirir, burada ən əhəmiyyətli rəqəm birinci gəlir və hər node tam olaraq bir rəqəmdən ibarətdir. İki ədədi əlavə edib cəmini belə qaytarmalıyıq...

Daha çox oxu

LRU Cache Leetcode Həlli

Problem Bəyanatı LRU Cache LeetCode Həlli – “LRU Cache” sizdən Ən Az İstifadə olunan (LRU) Keşinə uyğun məlumat strukturu dizayn etməyi xahiş edir. müsbət ölçü tutumu ilə. int get(int açarı): Dəyəri qaytarın...

Daha çox oxu

Çeşidlənmiş Siyahıları birləşdirin Leetcode Həll

Problem bəyanatı k Çeşidlənmiş Siyahıları birləşdirin LeetCode Həlli – “K Sıralanmış Siyahıları birləşdirin” hər bir əlaqələndirilmiş siyahının öz dəyərləri artan qaydada çeşidləndiyi k bağlı siyahıların massivi verildiyini bildirir. Biz bütün k-əlaqəli siyahıları vahid əlaqəli siyahıda birləşdirməliyik və...

Daha çox oxu

Hər Node Leetcode Həllində Növbəti Sağ Göstəricilərin Yerləşdirilməsi

Problem Bəyanatı Hər Bir Düyündə Növbəti Sağ Göstəricilərin Yerləşdirilməsi LeetCode Həlli – “Hər Nodeda Növbəti Sağ Göstəricilərin Yerləşdirilməsi” mükəmməl ikili ağacın kökünü nəzərə alaraq bildirir və biz qovşağın hər bir növbəti göstəricisini onun növbəti sağ qovşağına doldurmalıyıq. Növbəti yoxdursa…

Daha çox oxu

N-ci qovşağı siyahının sonundan çıxarın Leetcode Həll

Problem bəyanatı N-ci nodu siyahının sonundan çıxarın Leetcode həlli – sizə əlaqələndirilmiş siyahının başlığının verildiyini və bu siyahının sonundan n-ci qovşağı silməyiniz lazım olduğunu bildirir. Bu nodu sildikdən sonra dəyişdirilmiş siyahının başını qaytarın. Misal: Giriş: …

Daha çox oxu

Bağlı Siyahı Elementləri Leetcode Çözümünü Silin

Problem ifadəsi Bu problemdə, qovşaqlarının tam ədədi olan əlaqəli bir siyahı verilir. Siyahıdan val-a bərabər olan bəzi qovşaqları silmək lazımdır. Problemin yerindəcə həll edilməsi tələb olunmur, lakin belə yanaşmalardan birini müzakirə edəcəyik. Nümunə siyahısı =…

Daha çox oxu

Palindrome Bağlı Siyahı Leetcode Həlli

"Palindrome Bağlı Siyahısı" problemində, verilmiş bir tam tam əlaqəli siyahının palindrom olub olmadığını yoxlamalıyıq. Nümunə Siyahısı = {1 -> 2 -> 3 -> 2 -> 1} həqiqi İzahat # 1: Başlanğıcdan və arxadan bütün elementlər olduğu üçün siyahı palindromdur…

Daha çox oxu

Translate »