[Rust 0ms 100%] two pointers
rust\nimpl Solution {\n    pub fn sort_array_by_parity(mut a: Vec<i32>) -> Vec<i32> {\n        let mut right = a.len() - 1;\n        let mut left = 0;\n        
```rust\nimpl Solution {\n    pub fn sort_array_by_parity(mut a: Vec<i32>) -> Vec<i32> {\n        let mut right = a.len() - 1;\n        let mut left = 0;\n        \n        loop {\n            if left == right {\n                break;\n            }\n            \n            if a[left] % 2 != 0 {\n                a.swap(left, right);\n                right -= 1;\n            } else {\n                left += 1;\n            }\n        }\n        \n        a\n    }\n}\n```
['Rust']