java 练习递归..正和链表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 练习递归..正和链表相关的知识,希望对你有一定的参考价值。

import java.io.*;
import java.util.*;


// Recursion practice
class Solution {
  class Node {
   int value;
   Node next;
    
   Node(int value, Node next){
     this.value = value;
     this.next = next;
   }
    
   public void print(){
     System.out.print(this.value + ",");
     if(this.next != null) {
       this.next.print();
     }
   }
 
  }
  public static void main(String[] args) {
    Solution solution = new Solution();
    int[][] input = {
      {-1,2,-41,4,-8},
      {1,3,-9,121,31},
      {1,2,3}
    };
    
    for(int i=0; i< input.length; i++){
      Node root = solution.createList(input[i]);
      System.out.print("Input :");
      root.print();
      System.out.print(" ResultI: " + solution.positiveSum(root));
      System.out.print(", ResultR: " + solution.positiveSumR(root));
      System.out.print(", ResultRH: " + solution.positiveSum(root));
      
      System.out.println();
    }
  }
  
  
  public Node createList(int[] input){
     Node root = null;
     for(int i=input.length-1;i>=0;i--){
        Node newNode = new Node(input[i], root);
        newNode.next = root;
        root = newNode;
     }
     return root;
   }
  
  public int positiveSum(Node root) {
   if(root == null){
     return 0;
   }
   int sum = 0;
   while(root != null) {
    if(root.value > 0 ){
      sum += root.value;
    }
    root = root.next;
   }
    
   return sum;
  }
  
  public int positiveSumR(Node root){
    if(root == null) {
     return 0;
    }
    int sum = positiveSum(root.next);
    if(root.value > 0 ) sum += root.value;
    return sum;
  }
  
   public int positiveSumRT(Node root){
    if(root == null) {
     return 0;
    }
    if(root.value > 0 ) {
      return root.value + positiveSum(root.next);
    } else {
      return positiveSum(root.next); 
    }
  }
    
}

以上是关于java 练习递归..正和链表的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode练习(Python):链表类:第206题:反转链表:反转一个单链表。

递归查找链表中的第 n 个到最后一个元素

递归地反转Java中的链表

《Java练习题》进阶练习题

Python编程之数据结构与算法练习_007

递归控制-创建链表