LeetCode刷題進階之重新排列字串(1528)

Hard Coder發表於2020-12-04

一、題目
在這裡插入圖片描述
演示示例:
在這裡插入圖片描述
在這裡插入圖片描述
二、測試程式碼

class Solution {
    public String restoreString(String s, int[] indices) {
        char[] ch=new char[s.length()];
        for(int i=0;i<s.length();i++)
        {
            ch[indices[i]]+=s.charAt(i);
        }
        String str=new String(ch);//將字元陣列轉化為字串
        return str;
    }
}

三、執行情況
在這裡插入圖片描述

四、刷題總結
Java 字串與字元陣列的相互轉化:
(1)字串轉化為字元陣列:

String str="leetcode";
char[] ch=str.toCharArray();//呼叫toCharArray()方法將字串轉化為字元陣列
for(int i=0;i<ch.length;i++)
{
   System.out.print(ch[i]+" ");//l e e t c o d e 
}

(2)字元陣列轉化為字串

//方法一(空字串依次加入字元陣列中的每個字元)
String str="";
char[] ch= {'l','e','e','t','c','o','d','e'};
for(int i=0;i<ch.length;i++)
{
	str+=ch[i];
}
System.out.print(str);//leetcode


//方法二(new一個字串用與存放字元陣列中的每個字元)
char[] ch= {'l','e','e','t','c','o','d','e'};
String str=new String(ch);
System.out.print(str);//leetcode


//方法三(呼叫String類的valueOf()方法)
char[] ch= {'l','e','e','t','c','o','d','e'};
String str=String.valueOf(ch);
System.out.print(str);//leetcode

若直接對字元陣列採用toString()方法,並不能將其轉化為預期的字串,結果是[型別@雜湊值]

char[] ch= {'l','e','e','t','c','o','d','e'};
String str=ch.toString();
System.out.print(str);//[C@2ff4acd0

在這裡插入圖片描述

相關文章