6 ZigZag Conversion
来源:互联网 发布:知乎有mac版吗 编辑:程序博客网 时间:2024/06/05 16:55
6 ZigZag Conversion
题目内容
题目注释:将输入的字符串s,按照z字形排列成n行,再按照行输出新的字符串。
解题思路
这是一道找规律的题目,需要找到字符串原始序号与排列成z字形的新序号之间的关系。
我在解题时利用给出的例子试着列了一下规律,最后验证发现正确。设字符串原索引为i,排成n行z字形。即:
1)对于i/(n-1)得到的余数。发现如果余数为0,则该字符一定在首行或者末尾行。若不为0,其所在的行数存在2)所述的规律。
2)对于i/(n-1)所得到的商,如果商为奇数,那么得到的余数即字符倒数所在的行数。如果商为偶数,那么得到的余数则该字符正数所在的行数。
3)上述为主要规律,我们只要设置一个n维的StringBuffer数组,那么每一个元素都是一个长度可变化的字符串。用于存防按照z字形排列的每一行结果。最后再将结果按照行输出即可。
4)注意,对于n<=1的,需要单独考虑,此时字符串没有任何变化。
根据上述整体思路,我的code如下:
StringBuffer的用法-补充知识点
StringBuffer主要偏重对字符串变化的处理,比如追加、插入、删除等。
初始化
1、StringBuffer s=new StringBuffer();
初始化出了一个空的StringBuffer对象。
2、StringBuffer s=new StringBuffer(“abc”);
初始化一个内容为字符串“abc”的对象。
追加
StringBuffer sb = new StringBuffer(“abc”);
sb.append(true);
在字符串末尾追加,比String里面直接用sb+=“true”的方法更加节约内容。
删除
1、sb. deleteCharAt(1);
deleteCharAt(index)方法:删除指定位置的字符。
2、public StringBuffer delete(int start,int end);
删除指定范围内的字符内容。
……还有其他的以后慢慢学。
与String类对象之间的互相转化
- LeetCode 6 - ZigZag Conversion
- LeetCode 6: ZigZag Conversion
- LeetCode(6)ZigZag Conversion
- Leetcode【6】:ZigZag Conversion
- [leetcode 6] ZigZag Conversion
- LeetCode 6 ZigZag Conversion
- LeetCode(6) ZigZag Conversion
- [Leetcode] 6 - ZigZag Conversion
- LeetCode 6:《ZigZag Conversion》
- [leetcode 6] ZigZag Conversion
- LeetCode | #6 ZigZag Conversion
- 6、ZigZag Conversion
- [leetcode] 6 ZigZag Conversion
- leetCode #6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- 6 ZigZag Conversion
- leetcode-6 ZigZag Conversion
- leetcode 6 ZigZag Conversion
- http请求一个servlet(接口)地址
- C语言是什么 重要吗?
- Image_loader
- CentOS 7.2 挂载网络磁盘
- 深入剖析ThreadLocal
- 6 ZigZag Conversion
- PAT 乙级练习题1021. 个位数统计 (15)
- 推荐一个C# GDI+ 自定义控件
- JavaEE中Web服务器、Web容器、Application服务器区别及联系
- 服务器域名解析速度慢
- 网狐荣耀版或其它安卓项目出现Application cannot be exported due to the error(s) below.错误的处理方法
- 尝试用图像处理来实现UI设计稿的自动标注
- Kotlin全局函数的引入和范围
- java远程修改服务器配置文件