当前位置:   article > 正文

BJFUOJ-251_递归求解单链表中的最大值

递归求解单链表中的最大值

递归求解单链表中的最大值

  1. #include <iostream>
  2. #include <climits>
  3. using namespace std;
  4. typedef struct ListNode{
  5. int val;
  6. ListNode* next;
  7. ListNode():val(0),next(nullptr){};
  8. ListNode(int x):val(x),next(nullptr){};
  9. }ListNode,*LinkList;
  10. LinkList TailInsertList(int n){
  11. ListNode* head = new ListNode ;
  12. ListNode* r = head;
  13. int x;
  14. for (int i = 0; i < n; ++i){
  15. cin>>x;
  16. ListNode * p = new ListNode (x);
  17. r->next = p;
  18. r = p;
  19. }
  20. r ->next = nullptr;
  21. return head;
  22. }
  23. int max_list(LinkList L){
  24. if(L == nullptr) return INT_MIN;
  25. int a = max_list(L->next);
  26. return a>L->val?a:L->val;
  27. }
  28. int main(){
  29. int n;
  30. while(cin>>n && n!=0){
  31. LinkList L = TailInsertList(n);
  32. cout<<max_list(L->next)<<endl;
  33. }
  34. return 0;
  35. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/515546
推荐阅读
相关标签
  

闽ICP备14008679号