为啥solve传过去的事&head,链表存在传值和传址操作吗


bool solve(struct ListNode** hd, struct ListNode* tl) {
    if(tl == NULL)
    {
        return true;
    }
    bool flag = solve(hd, tl->next);//递归到最后

    if(flag == false) {
        return false;
    }

    if(tl->val != (*hd)->val) {
        return false;
    }
    (*hd) = (*hd)->next;
    return flag;


}

bool isPalindrome(struct ListNode* head){
    return solve(&head, head);
}

回文链表的递归判断?为啥solve传过去的事&head,链表存在传值和传址操作吗?传过去&head和head有啥区别?

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^