R257983 2023-04-10 19:48 采纳率: 20%
浏览 5

为啥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有啥区别?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-11 04:12
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

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

报告相同问题?

问题事件

  • 创建了问题 4月10日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据