coder
BAN USERalpha contains A-Z from 0 to 25
public static void generate(char[] alpha, int num){
int n=num;
int r;
Boolean flag=false;
StringBuffer sb = new StringBuffer();
while(n>=26){
r=n%26;
if(flag)sb.insert(0, alpha[r-1]);
else sb.insert(0, alpha[r]);
n=n/26;
if(!flag) flag=true;
}
if(flag)sb.insert(0, alpha[n-1]);
else sb.insert(0, alpha[n]);
System.out.println(num+" "+sb.toString());
}
Please comment if something is wrong
void printPaths(node *root){
int path[1000]={0}; //stores the paths
printallpaths(root,path,0);
}
//call print path recursively
void printallpaths( node *root, int[] path, pathlen){
if(root==NULL) return;
path[pathlen]=root->data;
pathlen++;
if(root->left==NULL && root->right==NULL) {
printpath(path,pathlen); // print path in leaf node
}else {
printallpaths(root->left,path,pathlen);
printallpaths(root->right,path,pathlen);
}
}
void printpath(int [] path, len){
int i=0;
for(i=0; i <len; i++)
printf("%d",path[i]);
printf("\n----------------------------------------------------------\n");
}
Here u go
public static boolean checkBST(node Tree){
Stack<node> s= new Stack<node>();
node tree= Tree;
int prev_val=-999;
while(true){
while(tree!=null){
s.push(tree);
tree=tree.left;
}
if(!s.isEmpty()){
tree=s.pop();
if(tree.data < prev_val) return false;
else{
prev_val=tree.data;
System.out.println(tree.data);
tree=tree.right;
}
}
else break;
}
return true;
}
public static void printPairs(int []a,int x){
HashSet<Integer> h= new HashSet<Integer>();
for(int i=0; i < a.length-1; i++){
h.add(a[i]);
}
for(int i=0; i < a.length-1; i++){
if(h.contains(x-a[i])){
System.out.println(a[i]+" "+(x-a[i]));
h.remove(x-a[i]);
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={1,2,3,4,5,6,7,8,9};
printPairs(a,9);
}
dont make 'num' const in functions it works
- coder October 12, 2012