@@ -182,6 +182,90 @@ public:
182182};
183183```
184184
185+ ### ** TypeScript**
186+
187+ ``` ts
188+ /**
189+ * Definition for a binary tree node.
190+ * class TreeNode {
191+ * val: number
192+ * left: TreeNode | null
193+ * right: TreeNode | null
194+ * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {
195+ * this.val = (val===undefined ? 0 : val)
196+ * this.left = (left===undefined ? null : left)
197+ * this.right = (right===undefined ? null : right)
198+ * }
199+ * }
200+ */
201+
202+ function levelOrder(root : TreeNode | null ): number [] {
203+ const res = [];
204+ if (root == null ) {
205+ return res ;
206+ }
207+
208+ const arr = [root ];
209+ let i = 0 ;
210+ while (i < arr .length ) {
211+ const { val, left, right } = arr [i ];
212+ res .push (val );
213+ left && arr .push (left );
214+ right && arr .push (right );
215+ i ++ ;
216+ }
217+ return res ;
218+ }
219+
220+ ```
221+
222+ ### ** Rust**
223+
224+ ``` rust
225+ // Definition for a binary tree node.
226+ // #[derive(Debug, PartialEq, Eq)]
227+ // pub struct TreeNode {
228+ // pub val: i32,
229+ // pub left: Option<Rc<RefCell<TreeNode>>>,
230+ // pub right: Option<Rc<RefCell<TreeNode>>>,
231+ // }
232+ //
233+ // impl TreeNode {
234+ // #[inline]
235+ // pub fn new(val: i32) -> Self {
236+ // TreeNode {
237+ // val,
238+ // left: None,
239+ // right: None
240+ // }
241+ // }
242+ // }
243+ use std :: rc :: Rc ;
244+ use std :: cell :: RefCell ;
245+ use std :: collections :: VecDeque ;
246+
247+ impl Solution {
248+ pub fn level_order (root : Option <Rc <RefCell <TreeNode >>>) -> Vec <i32 > {
249+ let mut res = Vec :: new ();
250+ let mut queue = VecDeque :: new ();
251+ if let Some (node ) = root {
252+ queue . push_back (node );
253+ }
254+ while let Some (node ) = queue . pop_front () {
255+ let mut node = node . borrow_mut ();
256+ res . push (node . val);
257+ if let Some (l ) = node . left. take () {
258+ queue . push_back (l );
259+ }
260+ if let Some (r ) = node . right. take () {
261+ queue . push_back (r );
262+ }
263+ }
264+ res
265+ }
266+ }
267+ ```
268+
185269### ** ...**
186270
187271```
0 commit comments