<p>Given an integer array <code>nums</code>, move all <code>0</code>'s to the end of it while maintaining the relative order of the non-zero elements.</p> <p><strong>Note</strong> that you must do this in-place without making a copy of the array.</p> <p> </p> <p><strong>Example 1:</strong></p> <pre><strong>Input:</strong> nums = [0,1,0,3,12] <strong>Output:</strong> [1,3,12,0,0] </pre><p><strong>Example 2:</strong></p> <pre><strong>Input:</strong> nums = [0] <strong>Output:</strong> [0] </pre> <p> </p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= nums.length <= 10<sup>4</sup></code></li> <li><code>-2<sup>31</sup> <= nums[i] <= 2<sup>31</sup> - 1</code></li> </ul> <p> </p> <strong>Follow up:</strong> Could you minimize the total number of operations done?