Score di Parentesi Soluzione LeetCode

Dichjarazione di u prublema U puntuatu di Parentesi LeetCode Soluzione dice - Data una stringa di parentesi equilibrati è rinvià u puntu massimu. U puntuatu di una stringa di parentesi equilibrata hè basatu annantu à e regule seguenti: "()" hà puntuatu 1. AB hà puntuatu A + B, induve A è B sò strings parenthesi equilibrati. (A) hà un puntu di 2 * A, induve A hè un ...

Read more

Arbulu Binariu Inorder Traversal Soluzione LeetCode

Problem Statement: Binary Tree Inorder Traversal Soluzione LeetCode Data a radica di un arbulu binariu, restituite a traversa in ordine di i valori di i so nodi. Esempiu 1: Input: root = [1,null,2,3] Output: [1,3,2] Esempiu 2: Input: root = [] Output: [] Esempiu 3: Input: root = [1] Output: [1] Limitazioni: U numeru di nodi in ...

Read more

Decode String Soluzione Leetcode

Problem Statement A Decode String LeetCode Solution - "Decode String" vi dumanda di cunvertisce a stringa codificata in una stringa decodificata. A regula di codificazione hè k[stringa_encoded], induve a stringa codificata in i parentesi quadrate hè ripetuta esattamente k volte induve k hè un entero pusitivu. Esempiu: Input: s = "3[a]2[bc]" Output: "aaabcbc" ...

Read more

Appiattà l'Arburu Binariu à a Lista Ligata Soluzione LeetCode

Appiattà l'Arburu Binariu à a Lista Ligata Soluzione LeetCode dice chì – Data u root di un arbre binariu, appiattite l'arburu in una "lista ligata":

  • A "lista ligata" deve aduprà u listessu TreeNode classe induve u right puntatore di u zitellu punta à u prossimu node in a lista è u left puntatore zitellu hè sempre null.
  • A "lista ligata" deve esse in u listessu ordine cum'è a pre-ordine traversu di l'arburu binariu.

 

Esemplariu 1:

Appiattà l'Arburu Binariu à a Lista Ligata Soluzione LeetCodeInput:

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

Output:

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

Esemplariu 2:

Input:

 root = []

Output:

 []

Esemplariu 3:

Input:

 root = [0]

Output:

 [0]

 

ALGORITMU -

IDEA -

  • Per appiattà un arbulu binariu, truvemu prima l'elementu rightmost di u subtree left è dopu avè ottenutu l'elementu rightmost, ligheremu u punter right-pointer di quellu node cù un subtree right di un arbulu datu.
  • In u passu 2 ligaremu u punteru dirittu di u node radicali cù u subtree left è stabilisce u subtree left cum'è null.
  • In u passu 3 avà u nostru node radicali hè un nodu subtree right u stessu prucessu accadrà cù questu node è u prucessu continuarà sempre finu à chì tutte e parte manca diventanu nulle.

Approcciu per Flatten Binary Tree to Linked List Soluzione Leetcode -

– À u principiu, eseguiraghju un loop, vale à dì while(root != null) dopu piglià duie variàbili è almacenà u subtree left.

- dopu verificarà u nodu più à destra di u subtree left usendu while (k.left != null) è ligà quellu node cù u subtree right usendu (k.right = root.right).

- poi ligà u puntatore right di u nodu radicale cù u subtree left (root.right = left) è stabilisce u puntatore left di u node root cum'è null (root.left = null) è aghjurnerà da (root = root.right) cusì avà a radica hè ghjustu. node subtree.

- stu prucessu hà da cuntinuà finu à chì tutte e parti di u subtree di manca diventanu subtree right. Dunque, l'arbulu binariu sarà appiattitu.

 

Appiattà l'Arburu Binariu à a Lista Ligata Soluzione LeetCode

Appiattà l'Arburu Binariu à a Lista Ligata Soluzione LeetCode

Soluzione Python:

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

Soluzione Java:

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;
        }
    }
}

A cumplessità di u tempu: O(N)

Cumplessità Spaziale: O (1)

Cumu avemu traversatu una sola volta, a cumplessità di u tempu serà o (n).

è cum'è ùn avemu micca pigliatu un spaziu extra, a cumplessità di u spaziu serà o (1) spaziu extra constantu.

Domanda simile - https://www.tutorialcup.com/interview/linked-list/flattening-linked-list.htm

Add Two Numbers II Soluzione Leetcode

Problem Statement A Soluzione LeetCode Add Two Numbers II - "Add Two Numbers II" dichjara chì dui listi ligati micca vacanti rapprisentanu dui interi non negativi induve u cifru più significativu vene prima è ogni node cuntene esattamente una cifra. Avemu bisognu di aghjunghje i dui numeri è rinvià a somma cum'è ...

Read more

Temperature di u ghjornu Solu Soluzione Leetcode

Problem Statement The Daily Temperatures Leetcode Soluzione: dichjara chì datu un array of integers temperatures rapprisenta a temperatura di ogni ghjornu, torna una risposta array such that answer [i] hè u numeru di ghjorni chì duvete aspittà dopu à u ith ghjornu per ottene una temperatura più calda. Se ùn ci hè micca un ghjornu futuru per quale questu hè pussibule, mantene a risposta [i] == 0 invece. …

Read more

Eliminazione minima per fà parentesi valide Soluzione LeetCode

Dichjarazione di u Prublemu U minimu Rimuovere per fà Parentesi valide Soluzione LeetCode - Vi sò datu una stringa s di '(', ')' è caratteri inglesi minuscoli. U vostru compitu hè di caccià u numeru minimu di parentesi ('(' o ')', in ogni pusizioni) in modu chì a stringa di parentesi risultante hè ...

Read more

Trapping Water Rain Leetcode Soluzione

Problem Statement U Trapping Rain Water LeetCode Solution - "Trapping Rain Water" dichjara chì datu un array of heights chì rapprisenta una mappa d'elevazione induve a larghezza di ogni bar hè 1. Avemu bisognu di truvà a quantità d'acqua intrappulata dopu a pioggia. Esempiu: Input: altezza = [0,1,0,2,1,0,1,3,2,1,2,1] Output: 6 Spiegazione: Verificate ...

Read more

Parentesi valide Soluzione Leetcode

Dichjarazione di u Prublemu A Soluzione LeetCode di Parentesi Valida - "Parentesi Validi" dice chì vi hè datu una stringa chì cuntene solu i caratteri '(', ')', '{', '}', '[' è ']'. Avemu bisognu di stabilisce se a stringa di input hè una stringa valida o micca. Si dice chì una stringa hè una stringa valida se parentesi aperti deve esse chjusu ...

Read more

Soluzione Leetcode Stack di Frequenza Massima

Dichjarazione di u Prublemu A Soluzione Massima Frequency Stack LeetCode - "Maximum Frequency Stack" vi dumanda di disignà una pila di frequenza in quale ogni volta chì pop un elementu da a pila, deve rinvià l'elementu più frequente presente in a pila. Implementa a classa FreqStack: FreqStack () custruisce una pila di freccia vacanti. void push(int val) spinge...

Read more

Translate »