假如有个struct对象
struct point{
int x,y;
point(int a,int b):x(a),y(b){}
};
point(i,j)产生一个point对象,new point(i,j)产生一个point对象指针
-----------------------------------------------------------------------------------------------------------------------------
sort(first,end)
sort(first,end,cmp)
bool cmp(int x,int y);
注意cmp函数要么设置成静态的,要么放到类外面
原因:所有成员函数都有一个隐含的指针参数,即this。这就和sort需要的comp函数原型不一致了。而static函数就没有这个隐含参数了
对于一个string s进行排序;
sort(&s[0],&s[0]+s.length())
对于一个数组A进行排序;
sort(A,A+n)
-----------------------------------------------------------------------------------------------------------------------------
class Solution {
TreeNode *prev;
public:
void flat(TreeNode *root){
if(root==NULL)
return;
if(prev){
prev->left=NULL;
prev->right=root;
}
prev=root;
//flat(root->left);
//flat(root->right);
TreeNode *leftNode=root->left;
TreeNode *rightNode=root->right;
flat(leftNode);
flat(rightNode);
}
void flatten(TreeNode *root) {
prev=NULL;
flat(root);
}
};
递归过程中节点的左右子树可能会改变,所以传参数的时候要注意