@@ -462,6 +462,32 @@ impl Solution {
462
462
}
463
463
}
464
464
```
465
+ ### C#
466
+ ``` C#
467
+ public IList < IList < int >> LevelOrder (TreeNode root )
468
+ {
469
+ var res = new List <IList <int >>();
470
+ var que = new Queue <TreeNode >();
471
+ if (root == null ) return res ;
472
+ que .Enqueue (root );
473
+ while (que .Count != 0 )
474
+ {
475
+ var size = que .Count ;
476
+ var vec = new List <int >();
477
+ for (int i = 0 ; i < size ; i ++ )
478
+ {
479
+ var cur = que .Dequeue ();
480
+ vec .Add (cur .val );
481
+ if (cur .left != null ) que .Enqueue (cur .left );
482
+ if (cur .right != null ) que .Enqueue (cur .right );
483
+ }
484
+ res .Add (vec );
485
+
486
+
487
+ }
488
+ return res ;
489
+ }
490
+ ```
465
491
466
492
467
493
** 此时我们就掌握了二叉树的层序遍历了,那么如下九道力扣上的题目,只需要修改模板的两三行代码(不能再多了),便可打倒!**
@@ -798,6 +824,31 @@ impl Solution {
798
824
}
799
825
}
800
826
```
827
+ ### C #
828
+ ```C #
829
+ public IList<IList<int> > LevelOrderBottom(TreeNode root)
830
+ {
831
+ var res = new List<IList<int> > ();
832
+ var que = new Queue<TreeNode > ();
833
+ if (root == null ) return res;
834
+ que. Enqueue (root);
835
+ while (que. Count != 0 )
836
+ {
837
+ var size = que. Count ;
838
+ var vec = new List<int> ();
839
+ for (int i = 0 ; i < size; i++ )
840
+ {
841
+ var cur = que. Dequeue ();
842
+ vec. Add (cur. val);
843
+ if (cur. left != null ) que. Enqueue (cur. left);
844
+ if (cur. right != null ) que. Enqueue (cur. right);
845
+ }
846
+ res. Add (vec);
847
+ }
848
+ res. Reverse ();
849
+ return res;
850
+ }
851
+ ```
801
852
802
853
## 199. 二叉树的右视图
803
854
0 commit comments