
Moving Zeroes to the End of an Array Using Two Pointer Technique in Python
Problem Explanation Given an integer array nums , your task is to move all 0s to the end of the array while maintaining the relative order of non-zero elements . Important: You must do this in-place Do not create a new array Example: Input: nums = [0, 1, 0, 3, 12] Output: [1, 3, 12, 0, 0] Input: nums = [0] Output: [0] Method Used: Two Pointer Technique We use: One pointer to track position for non-zero elements Another pointer to traverse the array Why This Method? Time complexity: O(n) Space complexity: O(1) Maintains order of non-zero elements Efficient and simple Python Code with Explanation class Solution : def moveZeroes ( self , nums ): Defines the function (in-place modification, no return needed). insert_pos = 0 insert_pos keeps track of where the next non-zero element should go. for i in range ( len ( nums )): Loop through each element using index i . if nums [ i ] != 0 : Check if the current element is non-zero. nums [ insert_pos ], nums [ i ] = nums [ i ], nums [ insert_pos
Continue reading on Dev.to Python
Opens in a new tab




