单链表逆序
struct node{ int data; node* next; }; node* reverse(node* list){ node *t, *r, *s; t = list; r = NULL; while(t){ s = t->next; t->next = r; r = t; t = s; } return r; }
二叉树列出从根节点到所有叶子节点的路径
struct node { int self; node *left; node *right; }; void PrintPath(node * root,vector<int> path) { if (root) { path.push_back(root->self); if (!root->left&&!root->right) { for (int i=0;i<path.size();i++) { cout<<path[i]<<","; } cout<<endl; return; } else { PrintPath(root->left,path); PrintPath(root->right,path); } } }