首页 > 其他分享 >【力扣】:N字型

【力扣】:N字型

时间:2023-02-22 13:35:45浏览次数:37  
标签:numRows String int 字型 力扣 字符串

 1 class Solution {
 2     public String convert(String s, int numRows) {
 3         String resultS = "";                // 待返回的字符串
 4         int len = s.length();               // 字符串长度
 5         if (numRows <= 1){ return s;}
 6         for(int row = 0 ; row < numRows ; row ++){
 7             int n = 0;      // 设置间隔数
 8             int index = 0;  // 设置读取的索引值
 9             if(row == 0 || row == numRows -1){
10                 // 如果处于第0行或最后一行,显示的数据的等差 2*(numRows -1) ,对应累加索引 row + 2*(numRows -1)*n
11                 index = row;
12                 while ( index  < len ){
13                     resultS += s.charAt(index);
14                     n ++;
15                     index = row + 2*(numRows -1)*n;
16                 }
17             }else{
18                 // 如果处于中间行,显示的等差数据为:2*(numRows -1) - 2*row  , 2*row ,
19                 // 对应的累加索引: n  为偶数时 row + (numRows -1) *n   ; n 为奇数时 row + 2*(numRows -1) * (n + 1)/2 -2*row
20                 index = row;
21                 while (index < len){
22                     resultS += s.charAt(index);
23                     n ++ ;
24                     index = (n % 2 == 0)? (row + (numRows -1) *n) : (row + 2*(numRows -1) * (n + 1)/2 -2*row) ;
25                 }
26 
27             }
28 
29         }
30         return resultS;
31     }
32 }

N字型变换:https://leetcode.cn/problems/zigzag-conversion/submissions/

标签:numRows,String,int,字型,力扣,字符串
From: https://www.cnblogs.com/luyj00436/p/17144011.html

相关文章

  • 力扣days02 链表
    力扣203.移除链表元素力扣707.设计链表已经覆盖了链表的常见操作,是练习链表操作非常好的一道题目;力扣206.反转链表再定义一个新的链表,实现链表元素的反转,是......
  • 力扣239
    力扣239.滑动窗口最大值问题题目描述给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口......
  • 力扣538 把二叉搜索树转换为累加树
    题目:给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(GreaterSumTree),使每个节点node的新值等于原树中大于或等于node.val的值之和。提醒一下,二叉......
  • 力扣:最长回文
    classSolution{publicStringlongestPalindrome(Strings){intmax=1;//设置回文字符串长度为1intlen=s.length();//设置......
  • 力扣108 将有序数组转换为二叉搜索树
    题目:给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树。高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值......
  • 力扣---22. 括号生成
    数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输......
  • 力扣450 删除二叉搜索树中的节点
    题目:给定一个二叉搜索树的根节点root和一个值key,删除二叉搜索树中的key对应的节点,并保证二叉搜索树的性质不变。返回二叉搜索树(有可能被更新)的根节点的引用。一般......
  • 力扣中189 轮转数组
    开新数组移动克隆数组:     publicstaticvoidrotate(int[]nums,intk){//int[]numstemp=nums;//这么写会指向同一片内存导致出错int......
  • 力扣简2347 最好的扑克手牌
    暴力求解但是忽略了三条中的2=3=4的情况后面写着写着想了想可以构建一个数组又觉得占内存还是暴力解了publicstaticStringbestHand(int[]ranks,char[]su......
  • 力扣9-回文数
    原题链接:https://leetcode.cn/problems/palindrome-number/给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都......