@@ -695,6 +695,67 @@ impl Solution {
695
695
}
696
696
}
697
697
```
698
+ ### C#
699
+ ``` C#
700
+ // 前序遍历
701
+ public IList < int > PreorderTraversal (TreeNode root )
702
+ {
703
+ var st = new Stack <TreeNode >();
704
+ var res = new List <int >();
705
+ if (root == null ) return res ;
706
+ st .Push (root );
707
+ while (st .Count != 0 )
708
+ {
709
+ var node = st .Pop ();
710
+ res .Add (node .val );
711
+ if (node .right != null )
712
+ st .Push (node .right );
713
+ if (node .left != null )
714
+ st .Push (node .left );
715
+ }
716
+ return res ;
717
+ }
718
+
719
+ // 中序遍历
720
+ public IList < int > InorderTraversal (TreeNode root )
721
+ {
722
+ var st = new Stack <TreeNode >();
723
+ var res = new List <int >();
724
+ var cur = root ;
725
+ while (st .Count != 0 || cur != null )
726
+ {
727
+ if (cur != null )
728
+ {
729
+ st .Push (cur );
730
+ cur = cur .left ;
731
+ }
732
+ else
733
+ {
734
+ cur = st .Pop ();
735
+ res .Add (cur .val );
736
+ cur = cur .right ;
737
+ }
738
+ }
739
+ return res ;
740
+ }
741
+ // 后序遍历
742
+ public IList < int > PostorderTraversal (TreeNode root )
743
+ {
744
+ var res = new List <int >();
745
+ var st = new Stack <TreeNode >();
746
+ if (root == null ) return res ;
747
+ st .Push (root );
748
+ while (st .Count != 0 )
749
+ {
750
+ var cur = st .Pop ();
751
+ res .Add (cur .val );
752
+ if (cur .left != null ) st .Push (cur .left );
753
+ if (cur .right != null ) st .Push (cur .right );
754
+ }
755
+ res .Reverse (0 , res .Count ());
756
+ return res ;
757
+ }
758
+ ```
698
759
699
760
<p align =" center " >
700
761
<a href =" https://programmercarl.com/other/kstar.html " target =" _blank " >
0 commit comments