Python
 Computer >> コンピューター >  >> プログラミング >> Python

与えられたリンクリストの長さがPythonで偶数か奇数かを確認します


リンクリストがあるとすると、その長さが奇数か偶数かを確認する必要があります。

したがって、入力がhead =[5,8,7,4,3,6,4,5,8]のような場合、出力は奇数になります。

これを解決するには、次の手順に従います-

  • headがnullでなく、next of headがnullでない場合は、
    • 頭:=頭の次の次
  • ヘッドがnullの場合、
    • 「偶数」を返す
  • 「奇数」を返す

理解を深めるために、次の実装を見てみましょう-

サンプルコード

class ListNode:
   def __init__(self, data, next = None):
      self.val = data
      self.next = next

def make_list(elements):
   head = ListNode(elements[0])
   for element in elements[1:]:
      ptr = head
      while ptr.next:
         ptr = ptr.next
      ptr.next = ListNode(element)
      
   return head
      
def solve(head):
   while head != None and head.next != None: 
      head = head.next.next
           
   if head == None:
      return "Even"
   return "Odd"

head = make_list([5,8,7,4,3,6,4,5,8])
print(solve(head))

入力

[5,8,7,4,3,6,4,5,8]

出力

Odd

  1. Pythonで奇数の長さのサイクルがグラフにあるかどうかを確認するプログラム

    無向グラフがあり、その中に奇数の長さのサイクルが見つかるかどうかを確認する必要があるとします。 したがって、入力がadj_list =[[1、2]、[0、3、4]、[0、3、4]、[1、2、4]、[1、2、3]] [0、1、3、4、2]、[1、3、4]、[2、3、4]のような奇数の長さのサイクルがあるため、出力はTrueになります。 これを解決するには、次の手順に従います- 関数dfs()を定義します。これはノードを取ります、私 ノードがパス内にある場合、 (i --path [node])が奇数の場合はtrueを返します ノードにアクセスした場合、 Falseを返す

  2. 除数の数が偶数か奇数かをチェックするPythonプログラム

    この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 −数値「n」を指定して、除数の総数が偶数または奇数であることを確認します。 このアプローチでは、すべての除数を見つけて、除数の数が偶数または奇数であることを確認します。 実装は以下のとおりです- 例 import math def countDivisors(n) :    count = 0    # calculating all the divisors    root=int(math.sqrt(n))+2 &nbs