שאָרטיסט ונסאָרטיד קעסיידערדיק סובאַררייַ לעעטקאָדע לייזונג

פּראָבלעם סטאַטעמענט שאָרטיסט ונסאָרטעד קעסיידערדיק סובאַררייַ לעעטקאָדע לייזונג זאגט אַז - געגעבן אַ ינטאַדזשער מענגע נומערן, איר האָבן צו געפֿינען איין קעסיידערדיק סובאַררייַ אַז אויב איר נאָר סאָרט דעם סובאַררייַ אין אַסענדינג סדר, די גאנצע מענגע וועט זיין אויסגעשטעלט אין אַסענדינג סדר. צוריקקומען די לענג פון די שאָרטיסט סובאַררייַ. בייַשפּיל 1: …

לייענען מער

דעקאָדע סטרינג לעעטקאָדע לייזונג

פּראָבלעם סטאַטעמענט די דעקאָדע סטרינג לעעטקאָדע לייזונג - "דעקאָדע שטריקל" פרעגט איר צו בייַטן די ענקאָודיד שטריקל אין אַ דיקאָודיד שטריקל. די קאָדירונג הערשן איז ק [ענקאָדעד_סטרינג], ווו די ענקאָודיד_סטרינג אין די קוואַדראַט בראַקאַץ איז ריפּיטיד פּונקט ק מאל ווו k איז אַ positive ינטאַדזשער. בייַשפּיל: אַרייַנשרייַב: s = "3[אַ]2[בק]" רעזולטאַט: "אַאַאַבקבק" ...

לייענען מער

פלאַטאַן ביינערי טרי צו לינגקט רשימה LeetCode לייזונג

פלאַטאַן ביינערי טרי צו לינגקט רשימה LeetCode לייזונג זאגט אַז - געגעבן די root פון אַ ביינערי בוים, פלאַטאַן דעם בוים אין אַ "לינגקט רשימה":

  • די "לינגקט רשימה" זאָל נוצן די זעלבע TreeNode קלאַס ווו די right קינד טייַטל ווייזט צו די ווייַטער נאָדע אין דער רשימה און די left קינד טייַטל איז שטענדיק null.
  • די "לינגקט רשימה" זאָל זיין אין דער זעלביקער סדר ווי אַ פאַר - סדר דורכפאָר פון די ביינערי בוים.

 

לעמאָשל קסנומקס:

פלאַטאַן ביינערי טרי צו לינגקט רשימה LeetCode לייזונגינפּוט:

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

אָוטפּוט:

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

לעמאָשל קסנומקס:

ינפּוט:

 root = []

אָוטפּוט:

 []

לעמאָשל קסנומקס:

ינפּוט:

 root = [0]

אָוטפּוט:

 [0]

 

אַלגערידאַם -

IDEA -

  • אין סדר צו פלאַטאַן אַ ביינערי בוים, מיר וועלן ערשטער געפֿינען די רעכט-מאָסט עלעמענט פון די לינקס סובטריע און נאָך מיר האָבן די רעכט-מאָסט עלעמענט, מיר וועלן פֿאַרבינדן די רעכט טייַטל פון אַז נאָדע מיט אַ רעכט סובטריע פון ​​אַ געגעבן בוים.
  • אין שריט 2 מיר וועלן פֿאַרבינדן די רעכט טייַטל פון די וואָרצל נאָדע מיט די לינקס-סובטרי און שטעלן די לינקס-סובטרי ווי נאַל.
  • אין שריט 3 איצט אונדזער וואָרצל נאָדע איז אַ רעכט-סובטרי נאָדע דער זעלביקער פּראָצעס וועט פּאַסירן מיט דעם נאָדע און דער פּראָצעס וועט נאָך פאָרזעצן ביז אַלע די לינקס פּאַרץ ווערן נאַל.

צוגאַנג פֿאַר פלאַטאַן ביינערי טרי צו לינגקט רשימה Leetcode לייזונג -

- אין ערשטער, איך וועט לויפן אַ שלייף, הייסט בשעת (וואָרצל != null) און וועט נעמען צוויי וועריאַבאַלז און קראָם די לינקס-סובטרי.

- דערנאָך וועט טשעק טשעק פֿאַר די רעכט נאָדע פון ​​לינקס-סובטרי דורך ניצן while (k.left != null) און וועט פֿאַרבינדן דעם נאָדע מיט רעכט סובטריע ניצן (ק.right = root.right).

- דעמאָלט לינק רעכט טייַטל פון וואָרצל נאָדע מיט לינקס סובטריע (root.right = לינקס) און שטעלן די לינקס טייַטל פון וואָרצל נאָדע ווי null (root.left = null) און וועט דערהייַנטיקן דורך ( וואָרצל = root.right ) אַזוי איצט וואָרצל איז רעכט סובטריע נאָדע.

- דער פּראָצעס וועט פאָרזעצן ביז אַלע לינקס-סובטרי פּאַרץ ווערן רעכט סובטריע. דעריבער, די ביינערי בוים וועט באַקומען פלאַטאַנד.

 

פלאַטאַן ביינערי טרי צו לינגקט רשימה LeetCode לייזונג

פלאַטאַן ביינערי טרי צו לינגקט רשימה LeetCode לייזונג

פּיטהאָן לייזונג:

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 לייזונג:

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

צייט קאַמפּלעקסיטי: אָ(ען)

אָרט קאַמפּלעקסיטי: אָ (1)

ווי מיר האָבן דורכגעגאנגען בלויז אַמאָל, צייַט קאַמפּלעקסיטי וועט זיין o (n).

און ווי מיר האָבן נישט גענומען קיין עקסטרע פּלאַץ, פּלאַץ קאַמפּלעקסיטי וועט זיין אָ (1) קעסיידערדיק עקסטרע פּלאַץ.

ענליכע פראגע - https://www.tutorialcup.com/interview/linked-list/flattening-linked-list.htm

עריינדזשינג קאָינס Leetcode לייזונג

פּראָבלעם סטאַטעמענט די עריינדזשינג קאָינס LeetCode לייזונג - "עריינדזשינג קאָינס" פרעגט איר צו בויען אַ לייטער מיט די קאָינס. די לייטער באשטייט פון ק ראָוז, ווו די ריי באשטייט פון פּונקט i קאָינס. די לעצטע רודערן פון די לייטער קען נישט זיין גאַנץ. פֿאַר די געגעבן סומע פון ​​קאָינס, צוריקקומען ...

לייענען מער

טעגלעך טעמפּעראַטורעס לעעטקאָדע לייזונג

פּראָבלעם סטאַטעמענט די טעגלעך טעמפּעראַטורעס לעעטקאָדע לייזונג: זאגט אַז געגעבן אַ מענגע פון ​​ינטאַדזשערז טעמפּעראַטורעס רעפּראַזענץ די טעגלעך טעמפּעראַטורעס, צוריקקומען אַ מענגע ענטפער אַזוי אַז ענטפֿער [i] איז די נומער פון טעג איר האָבן צו וואַרטן נאָך די יט טאָג צו באַקומען אַ וואָרמער טעמפּעראַטור. אויב עס איז קיין צוקונפֿט טאָג פֿאַר וואָס דאָס איז מעגלעך, האַלטן ענטפער [i] == 0 אַנשטאָט. …

לייענען מער

LRU קאַש לעעטקאָדע לייזונג

פּראָבלעם סטאַטעמענט די LRU קאַש לעעטקאָדע לייזונג - "LRU קאַש" פרעגט איר צו פּלאַן אַ דאַטן סטרוקטור וואָס גייט די קלענסטער לעצטנס געוויינט (LRU) קאַש. מיט positive גרייס קאַפּאַציטעט. int get (int key): צוריקקומען די ווערט ...

לייענען מער

מינימום אַראָפּנעמען צו מאַכן גילטיק קלאַמערן LeetCode לייזונג

פּראָבלעם סטאַטעמענט די מינימום אַראָפּנעמען צו מאַכן גילטיק קלאַמערן LeetCode לייזונג - איר באַקומען אַ שטריקל s פון '(', ')' און נידעריק-קלאַס ענגליש אותיות. דיין אַרבעט איז צו באַזייַטיקן די מינימום נומער פון קלאַמערן ('('אָדער')', אין קיין שטעלעס, אַזוי אַז די ריזאַלטינג קלאַמערן שטריקל איז ...

לייענען מער

לאָנגעסט סובסטרינג אָן ריפּיטינג אותיות Leetcode לייזונג

פּראָבלעם סטאַטעמענט די לאָנגעסט סובסטרינג אָן ריפּיטינג אותיות LeetCode לייזונג - שטאַטן אַז געגעבן די שטריקל s. מיר דאַרפֿן צו געפֿינען די לאָנגעסט סובסטרינג אָן ריפּיטינג אותיות. בייַשפּיל: אַרייַנשרייַב: s = ”אַבקאַבקבב” רעזולטאַט: 3 דערקלערונג: די לאָנגעסט סובסטרינג מיט קיין אותיות ריפּיטיד איז פון לענג 3. דער שטריקל איז: “אַבק”. אַרייַנשרייַב: s = "בבבב" ...

לייענען מער

קלאָון גראַפיק לעעטקאָדע לייזונג

פּראָבלעם סטאַטעמענט קלאָון גראַפיק LeetCode לייזונג - מיר זענען געגעבן אַ רעפֿערענץ פון אַ נאָדע אין אַ קאָננעקטעד אַנרעקטיד גראַפיק און זענען געבעטן צו צוריקקומען אַ טיף קאָפּיע פון ​​​​די גראַפיק. א טיף קאָפּיע איז בייסיקלי אַ קלאָון ווו קיין נאָדע אין דער טיף קאָפּיע זאָל האָבן די רעפֿערענץ ...

לייענען מער

גילטיק קלאַמערן Leetcode לייזונג

פּראָבלעם סטאַטעמענט די גילטיק פּאַרענטהעס LeetCode לייזונג - "גילטיק פּאַרענטהעס" זאגט אַז איר באַקומען אַ שטריקל מיט בלויז די אותיות '(', ')', '{', '}', '[' און ']'. מיר דאַרפֿן צו באַשליסן צי די אַרייַנשרייַב שטריקל איז אַ גילטיק שטריקל אָדער נישט. א שטריקל איז געזאגט צו זיין אַ גילטיק שטריקל אויב עפענען בראַקאַץ מוזן זיין פארמאכט ...

לייענען מער

Translate »