Java面试题:有数组a[n],用java代码将数组元素顺序颠倒

查看复制到剪切板打印

  1. /**
  2. * 颠倒数组数据的先后顺序
  3. *
  4. * @author 老紫竹 java2000.net
  5. */
  6. public class Test {
  7. public static void reverse(int[] a, int left, int right) {
  8. if (left >= right)
  9. return;
  10. int temp;
  11. temp = a[left];
  12. a[left] = a[right];
  13. a[right] = temp;
  14. reverse(a, ++left, --right);
  15. }
  16. public static void main(String args[]) {
  17. int[] a = { 1, 2, 3, 4, 5 };
  18. reverse(a, 0, a.length - 1);
  19. for (int i = 0; i < a.length; i++)
  20. System.out.println(a[i]);
  21. }
  22. }
/**
 * 颠倒数组数据的先后顺序
 * 
 * @author 老紫竹 java2000.net
 */
public class Test {
  public static void reverse(int[] a, int left, int right) {
    if (left >= right)
      return;
    int temp;
    temp = a[left];
    a[left] = a[right];
    a[right] = temp;
    reverse(a, ++left, --right);
  }

  public static void main(String args[]) {
    int[] a = { 1, 2, 3, 4, 5 };
    reverse(a, 0, a.length - 1);
    for (int i = 0; i < a.length; i++)
      System.out.println(a[i]);
  }
}

从字符串的两端开始交换,然后缩短字符串的长度,从新的两端开始。