2017-04-27 79 views
1
public int [][] Mirror(int [][] A1){ 
    int [][] A2 = new int [A1.length][]; 
    for(int i = 0; i < A1.length; i++) { 
     for(int j = A1[i].length-1; j >= 0; j--) { 
      A2[i][j] = A1[i][j]; 
     } 
    } 
    return A2; 
} 

我不確定這段代碼有什麼問題。任何幫助將不勝感激。謝謝。我的二維數組鏡像的代碼是否正確?

+0

「*我不確定這段代碼有什麼問題。」爲什麼你認爲這是錯的?你嘗試過,沒有得到理想的結果嗎?你檢查了什麼樣的輸入和輸出? – user1803551

回答

2

A2[i][j] = A1[i][j]將輸入數組的值完全分配給輸出數組中的相同索引,因此輸出數組與輸入數組相同。

它應該是

A2[i][j] = A1[i][A1[i].length-1-j]; 

通過這種方式,例如,輸入陣列中的每一行的最後一列成爲輸出陣列中的第一列。