首页 > 其他 > 详细

[jeetcode]ZigZag Conversion

时间:2014-10-19 22:36:18      阅读:338      评论:0      收藏:0      [点我收藏+]

这道题目属于比较简单的,但是仍然要注意空间复杂度,比较好的解法是运用数学手段,发现规律。

public class Solution {
    public String convert(String s, int nRows) {
        int len = s.length();
        if (len <= nRows || nRows == 1) {
            return s;
        } else {
            String res = "";
            int num = 0;
            for (int r = 0; r < nRows; r++) {
                int count = 0;
                num = r;
                while (num < len) {
                    res = res + s.charAt(num);
                    count = count + 1;
                    if (r == 0 || r == nRows - 1) {
                        num = num + 2 * (nRows - 1);
                    } else {
                        if (count % 2 == 1) {
                            num = num + 2 * (nRows - r - 1);
                        } else {
                            num = num + 2 * r;
                        }
                    }
                }
            }
            return res;
    }
    }
}

 

[jeetcode]ZigZag Conversion

原文:http://www.cnblogs.com/bluedreamviwer/p/4035629.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!