i**8 发帖数: 134 | 1 可能以前有人在版上发过了,贴上我的code抛砖引玉哈
BST, given a node in it, find its next inorder successor. (the min of bigger
nodes)
note: root is not known, but node has pointer to parent.
my code:
typedef struct node {
struct node* left;
struct node* right;
struct node* parent; |
g*******y 发帖数: 1930 | 2 这句稍微可以改改:
while(tmp->parent && (tmp->data > tmp->parent->data)) { |
m*****f 发帖数: 1243 | |
c*****o 发帖数: 178 | 4 return tmp->parent;
这个没有处理cur是root的情况,如果是root,应该返回一个空指针。 |
i**8 发帖数: 134 | 5 root->parent is NULL
【在 c*****o 的大作中提到】 : return tmp->parent; : 这个没有处理cur是root的情况,如果是root,应该返回一个空指针。
|
j*x 发帖数: 302 | 6 如果没有left, right, and parents, return null.
不需要专门处理吧.
【在 c*****o 的大作中提到】 : return tmp->parent; : 这个没有处理cur是root的情况,如果是root,应该返回一个空指针。
|