Vignesh_M_M

Untitled

Jun 19th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.87 KB | None | 0 0
  1. public class Answer implements PalindromicPathsInterface {
  2.     String[] strings;
  3.     int count =0;
  4.    
  5.     public String[] findPalindromicPaths(String[] input)
  6.     {
  7.         if(input.length==0)
  8.         {
  9.             String[] strings=new String[1];
  10.             strings[0]="NULL";
  11.             return null;
  12.         }
  13.         func(input,0,0,"");
  14.         strings=new String[count];
  15.         count=0;
  16.         func1(input,0,0,"");
  17.        
  18.         return strings;
  19.     }
  20.         public  void func(String[] A, int i, int j, String curr)
  21.         {
  22.             if(i == A.length - 1 && j == A[0].length() - 1){
  23.                 curr = curr + A[i].charAt(j);
  24.                 String temp = new StringBuffer(curr).reverse().toString();
  25.                 if(temp.equals(curr))
  26.                 {
  27.                     count++;
  28.                 }
  29.             }
  30.             else{
  31.                 if(i + 1 < A.length)
  32.                     func(A, i+1, j, curr + A[i].charAt(j));
  33.                 if(j + 1 < A[0].length())
  34.                     func(A, i, j+1, curr + A[i].charAt(j));
  35.  
  36.                 if(i == 0 && j == 0)
  37.                 {
  38.                     return ;
  39.                 }
  40.             }
  41.         }
  42.        
  43.         public  void func1(String[] A, int i, int j, String curr)
  44.         {
  45.             if(i == A.length - 1 && j == A[0].length() - 1){
  46.                 curr = curr + A[i].charAt(j);
  47.                 String temp = new StringBuffer(curr).reverse().toString();
  48.                 if(temp.equals(curr))
  49.                 {
  50.                     strings[count++]=curr;
  51.                 }
  52.             }
  53.             else{
  54.                 if(i + 1 < A.length)
  55.                     func1(A, i+1, j, curr + A[i].charAt(j));
  56.                 if(j + 1 < A[0].length())
  57.                     func1(A, i, j+1, curr + A[i].charAt(j));
  58.  
  59.                 if(i == 0 && j == 0)
  60.                 {
  61.                     return ;
  62.                 }
  63.             }
  64.         }
  65.     }
Add Comment
Please, Sign In to add comment