DEV Community

Rakesh Reddy Peddamallu
Rakesh Reddy Peddamallu

Posted on

Leetcode - 6. Zigzag Conversion

/**
 * @param {string} s
 * @param {number} numRows
 * @return {string}
 */
var convert = function(s, numRows) {
if (numRows === 1) {
    return(s);
} else {
    let res  = ""
    for (let r = 0; r < numRows; r++) {
        let inc = (numRows - 1) * 2;  // Step size for the zigzag pattern

        for (let i = r; i < s.length; i += inc) {
            res+=s[i];  // Main vertical column

            // Handle diagonal elements for middle rows (not first/last row)
            let diag = i + inc - 2 * r;
            if (r > 0 && r < numRows - 1 && diag < s.length) {
                res+=s[diag];
            }
        }
    }
    return res
}

};
Enter fullscreen mode Exit fullscreen mode

Top comments (0)