2017-03-12 10 views
0

[ケース1] 2入力
'ABC'、 'TRE'
出力値
'atbrce'

C#シャッフル文字列のマージを解決するにはどうすればよいですか?

[ケース2] 3入力パラメータ
'GBD'、「学生
パラメータ 出力
'gsbtdudent' マージシャッフル文字列を解決するためにどのように

+0

をいただきました!あなたがやろうとしている:またlongestラインの背後にあるロジックを読み込むと、どの入力が長くなる問題ではありませんか? –

答えて

0

sufflingは簡単です:

var rnd = new Random(); 
string st1="abc"; 
string str2="tre"; 
string unsuffled = str1+str2; 
string shuffled = new string(unsuffled.OrderBy(r => rnd.Next()).ToArray()); 

refrence Link

0

これは、あなたが、私は、これはあなたが望む何をすべきと考えている

List<char> list1 = "gbd".ToList<char>(); 
      List<char> list2 = "student".ToList<char>(); 
      string result = string.Empty; 
      for (int i = 0; i < list2.Count(); i++) 
      { 
       try 
       { 
        result = result + list1[i] + list2[i]; 
       } 
      catch 
      { 
       result = result + list2[i]; 
      } 
     } 
0

をしたいですものです。入力が同じ長さでない場合は、結果に加算するたびに入力ごとに別のtryブロックになります。

If input1 is longer than input2 Then longest = input1.Length Else longest = input2.Length

 var input1 = "abc"; 
     var input2 = "student"; 
     var result = new StringBuilder(); 
     // Gets the length of the longest string 
     var longest = input1.Length > input2.Length ? input1.Length : input2.Length; 
     for (int i = 0; i < longest; i++) 
     { 
      try 
      { 
       result.Append(input1[i]); 
      } 
      catch (IndexOutOfRangeException ex) 
      { 
      } 
      try 
      { 
       result.Append(input2[i]); 
      } 
      catch (IndexOutOfRangeException ex) 
      { 
      } 
     } 
     System.Console.WriteLine(result.ToString()); 
関連する問題