Advertisement
Guest User

Untitled

a guest
May 3rd, 2015
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.99 KB | None | 0 0
  1. /*
  2. *Given two strings, you need to transpose the first string to the second string
  3. *by means of only swap between 2 consecutive characters in the first string.
  4. *This must be performed by doing a series of these swaps in order to get the second string.
  5. */
  6.  
  7. public void transposeString(String first, String second) {
  8. char[] firstArr = first.toCharArray();
  9. char[] secondArr = second.toCharArray();
  10.  
  11. // check if these strings could be transposed
  12. Arrays.sort(firstArr);
  13. Arrays.sort(secondArr);
  14.  
  15. if (!String.valueOf(firstArr).equals(String.valueOf(secondArr))) {
  16. System.out.println("Cannot Swap");
  17. return;
  18. }
  19.  
  20. firstArr = first.toCharArray();
  21. secondArr = second.toCharArray();
  22.  
  23. boolean flag = true;
  24.  
  25. // swap
  26. while (flag) {
  27. flag = false;
  28. for (int i = 0; i < first.length() - 1; i++) {
  29. if (firstArr[i] != secondArr[i]) {
  30. char temp = firstArr[i];
  31. firstArr[i] = firstArr[i + 1];
  32. firstArr[i + 1] = temp;
  33. flag = true;
  34. }
  35. }
  36. }
  37.  
  38. System.out.println(String.valueOf(firstArr));
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement