IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]LeetCode -- ZigZag Conversion

    csharp25发表于 2015-12-02 10:12:02
    love 0
    题目描述:


    本题考查的是纯粹字符串操作,遍历i∈[0, numRows)次,从第i个字符起始,每次向后取2 * numRows - 2处的字符累加,需要判断末尾处可取的部分。


    实现代码:

    public class Solution {
        public string Convert(string s, int numRows) 
        {
            if(string.IsNullOrWhiteSpace(s) || numRows == 1){
        		return s;
        	}
        	
            var s1 = "";
            int distance = 2 * numRows - 2;
        	
            for(var i = 0; i < numRows ; i++)
            {  
                for(int j = i; j < s.Length; j += distance)
                {  
                    s1 += s[j];
                    if(i !=0 && i != numRows - 1 && j + distance - 2 * i < s.Length){
        				s1 += s[j + distance - 2 * i];
        			}
                }                  
            }
            return s1;      
        }
    }




沪ICP备19023445号-2号
友情链接