Score vun parenthesis LeetCode Léisung

Problem Ausso De Score vun Parenthesis LeetCode Léisung seet - Gëtt eng equilibréiert parentheses String s an de Maximum Score zréck. De Score vun enger equilibréierter parenthesis String baséiert op de folgende Reegelen: "()" huet Score 1. AB huet Score A + B, wou A a B equilibréiert parenthesis Strings sinn. (A) huet Score 2 * A, wou A eng ...

méi liesen

Binary Tree Inorder Traversal LeetCode Solution

Problem Ausso: Binary Tree Inorder Traversal LeetCode Léisung Gitt d'Wurzel vun engem binäre Bam, gitt d'Inorder Traversal vu sengen Noden 'Wäerter zréck. Beispill 1: Input: root = [1,null,2,3] Ausgang: [1,3,2] Beispill 2: Input: root = [] Ausgang: [] Beispill 3: Input: root = [1] Ausgang: [1] Contrainten: D'Zuel vun den Noden an ...

méi liesen

Decode String Leetcode Léisung

Problem Ausso D'Decode String LeetCode Léisung - "Decode String" freet Iech de kodéierte String an eng dekodéiert String ze konvertéieren. D'Kodéierungsregel ass k[encoded_string], wou de encoded_string bannent de véiereckege Klammern genee k mol widderholl gëtt, wou k e positiv ganz Zuel ass. Beispill: Input: s = "3[a]2[bc]" Ausgang: "aaabcbc" ...

méi liesen

Verflaacht Binärbaum op Linked List LeetCode Solution

Verflaacht Binärbaum op Linked List LeetCode Solution seet, datt - Ginn der root vun engem binäre Bam, flaach de Bam an eng "verlinkt Lëscht":

  • Déi "verlinkt Lëscht" soll déi selwecht benotzen TreeNode Klass wou de right Kand Pointer weist op déi nächst Node an der Lëscht an der left Kand Pointer ass ëmmer null.
  • Déi "verlinkt Lëscht" soll an der selwechter Uerdnung sinn wéi eng viirbestellen Duerchgäng vum binäre Bam.

 

Beispill 1:

Verflaacht Binärbaum op Linked List LeetCode SolutionInput:

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

Ausgab:

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

Beispill 2:

Input:

 root = []

Ausgab:

 []

Beispill 3:

Input:

 root = [0]

Ausgab:

 [0]

 

ALGORITHME -

IDEE -

  • Fir e binäre Bam ze flaach ze fannen, fanne mir als éischt dat rietst Element vum lénksen Ënnerbaum an nodeems mir dat rietsst Element kritt hunn, verbannen mir de richtege Pointer vun deem Node mat engem richtege Subtree vun engem bestëmmte Bam.
  • Am Schrëtt 2 verbannen mir de richtege Pointer vum Root Node mat dem lénksen Subtree a setzen de lénksen Subtree als Null.
  • Am Schrëtt 3 ass eise Root Node e richtege Subtree Node, dee selwechte Prozess wäert mat dësem Node geschéien an de Prozess wäert nach ëmmer weidergoen bis all déi lénks Deeler null ginn.

Approche fir Flaach Binäre Bam zu Linked List Leetcode Léisung -

- Fir d'éischt lafen ech eng Loop dh während (root != null) dann huelen ech zwou Variabelen a späicheren de lénksen Subtree.

- da kontrolléiert d'Check fir de rietsste Node vum lénksen Ënnerbaum andeems Dir while (k.left != null) benotzt a verbënnt dee Knuet mam richtege Subtree benotzt (k.right = root.right).

- dann verlinkt de richtege Pointer vum Root Node mam lénksen Subtree (root.right = lénks) a setzt de lénksen Pointer vum Root Node als null (root.left = null) a wäert aktualiséieren duerch (root = root.right) sou datt elo root richteg ass subtree Node.

- Dëse Prozess wäert weidergoen bis all lénks-Subtree Deeler riets subtree ginn. Dofir gëtt de binäre Bam flaach.

 

Verflaacht Binärbaum op Linked List LeetCode Solution

Verflaacht Binärbaum op Linked List LeetCode Solution

Python Léisung:

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 Léisung:

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

Zäitkomplexitéit: O(N)

Raumkomplexitéit: O (1)

Wéi mir nëmmen eemol duerchgestrachenem hunn, Zäit Komplexitéit wäert o (n).

a wéi mir keng extra Plaz geholl hunn, wäert Raum Komplexitéit o (1) konstant extra Plaz.

Ähnlech Fro - https://www.tutorialcup.com/interview/linked-list/flattening-linked-list.htm

Dobäizemaachen Zwee Zuelen II Leetcode Léisung

Problem Ausso D'Add Two Numbers II LeetCode Solution - "Add Two Numbers II" seet datt zwee net eidel verlinkte Lëschte zwee net-negativ ganz Zuelen representéieren wou déi bedeitendst Ziffer als éischt kënnt an all Node genau eng Ziffer enthält. Mir mussen déi zwou Zuelen addéieren an d'Zomm zréckginn als ...

méi liesen

Deeglech Temperaturen Leetcode Léisung

Problem Ausso D'Deeglech Temperaturen Leetcode Léisung: Staaten, datt eng ganz Rei vun Ganzen Temperaturen déi alldeeglech Temperaturen duerstellt, gitt eng Array Äntwert sou datt d'Äntwert[i] d'Zuel vun Deeg ass, déi Dir nom ith Dag muss waarden fir eng méi waarm Temperatur ze kréien. Wann et keen zukünftegen Dag gëtt fir deen dëst méiglech ass, behalen d'Äntwert[i] == 0 amplaz. …

méi liesen

Minimum Ewechhuele fir valabel Klammern ze maachen LeetCode Léisung

Problem Statement De Minimum Ewechhuele fir valabel Klammern ze maachen LeetCode Léisung - Dir kritt eng String s vun '(', ')' a kleng englesch Zeechen. Är Aufgab ass d'Mindestzuel vun de Klammern ('(' oder ')', an all Positiounen ze läschen, sou datt déi resultéierend Klammer String ...

méi liesen

Trapping Reen Waasser Leetcode Léisung

Problem Statement The Trapping Rain Water LeetCode Solution - "Trapping Rain Water" seet, datt eng Rei vun Héichten gëtt, déi eng Héichtkaart duerstellt, wou d'Breet vun all Bar ass 1. Mir mussen d'Quantitéit u Waasser fannen, déi nom Reen agespaart ass. Beispill: Input: Héicht = [0,1,0,2,1,0,1,3,2,1,2,1] Ausgang: 6 Erklärung: Check ...

méi liesen

Valabel Klammern Leetcode Léisung

Problem Ausso Déi gëlteg Klammern LeetCode Léisung - "Gëlteg Klammern" seet datt Dir eng String kritt déi just d'Zeechen '(', ')', '{', '}', '[' an ']' enthält. Mir mussen bestëmmen ob den Input String eng valabel String ass oder net. E String gëtt gesot als e gültege String wann oppe Klammeren zougemaach musse sinn ...

méi liesen

Maximum Frequenz Stack Leetcode Léisung

Problem Ausso De Maximum Frequenz Stack LeetCode Léisung - "Maximum Frequenz Stack" freet Iech e Frequenz Stack ze designen an deem wa mir en Element aus dem Stack Pop, et soll déi heefegst Element präsent am Stack zréck. Ëmsetzen der FreqStack Klass: FreqStack () konstruéiert en eidelen Frequenzstack. void push (int val) dréckt ...

méi liesen

Translate »